nipos b2dd506688 Add Dutch translation,allow adding more toots to editor,many bugfixes 5 anni fa
..
etc 7ea6f98149 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 5 anni fa
locale b2dd506688 Add Dutch translation,allow adding more toots to editor,many bugfixes 5 anni fa
usr 7ea6f98149 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 5 anni fa
.dockerignore bd0015bbcd Initial bring up of docker support 5 anni fa
.gitignore bd0015bbcd Initial bring up of docker support 5 anni fa
Dockerfile 7ea6f98149 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 5 anni fa
README.md 12edd8677a Update Docker README paths to reflect new container paths 5 anni fa

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