57 lines
1.5 KiB
Markdown
57 lines
1.5 KiB
Markdown
# 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
|
|
|
|
``` sh
|
|
|
|
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:
|
|
|
|
``` sh
|
|
|
|
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.
|
|
|
|
``` sh
|
|
|
|
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
|
|
|
|
```
|
|
|