1.5 KiB
Executable File

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 .


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.


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


An example for running the container is below.

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