halcyon/docker
nipos be5e13ab6d Enable Arabic locale in Docker 2019-06-20 17:00:35 +02:00
..
etc Docker updates - Update to be pure php-fpm - Remove nginx from container - Update halcyon path to match standard docs (/opt/halcyon) - Updated halcyon path allows this container to work as-is with the provided web server configs 2019-01-06 19:47:24 +00:00
locale Enable Arabic locale in Docker 2019-06-20 17:00:35 +02:00
usr/local/etc Docker updates - Update to be pure php-fpm - Remove nginx from container - Update halcyon path to match standard docs (/opt/halcyon) - Updated halcyon path allows this container to work as-is with the provided web server configs 2019-01-06 19:47:24 +00:00
.dockerignore Initial bring up of docker support 2019-01-05 15:02:04 -05:00
.gitignore Initial bring up of docker support 2019-01-05 15:02:04 -05:00
Dockerfile Docker updates - Update to be pure php-fpm - Remove nginx from container - Update halcyon path to match standard docs (/opt/halcyon) - Updated halcyon path allows this container to work as-is with the provided web server configs 2019-01-06 19:47:24 +00:00
README.md Update Docker README paths to reflect new container paths 2019-01-06 19:46:25 +00:00

README.md

Halcyon Docker

This Docker setup for Halcyon includes just Halcyon, php-fpm and the necessary locales for internationalization support in Halcyon.

You'll need to use the main repo's nginx/apache/caddy configs for reverse proxy to the container. traefik will likely work but is untested.

Build Halcyon Container


cd /opt/halcyon/docker
docker build -t halcyon/halcyon:latest .

Configuration

The container has the official example configs stored at /opt/halcyon/config.example inside the image. You can copy the examples from the container to the server via a temporary container and volume.

The configs must be adjusted ahead of running the container for production use.

Please note: The container build will checkout the latest release of Halcyon which may not match the current master brach HEAD. It's advisable to use the below to copy the configs so you're using the same config examples as the version deployed in the container.

Example:


cd /opt/halcyon
mkdir config
docker run --rm -it \
    --entrypoint /bin/sh \
    -v /opt/halcyon/config:/opt/halcyon/config \
    halcyon/halcyon:latest
cp /opt/halcyon/config.example/* /opt/halcyon/config/
exit

Running

An example for running the container is below.


docker run \
    --name halcyon \
    --restart unless-stopped \
    --net docker-private \
    --ip 172.30.12.13 \
    -e TZ=UTC \
    -e DEBUG=1 \
    -v /opt/halcyon/config:/opt/halcyon/config \
    halcyon/halcyon:latest