feat: support running using Docker Compose

This commit adds a Docker Compose file which will run the application
using docker. The application is fronted by Traefik, and runs using
PHP-fpm. nginx is used to accept queries from Traefik and relay them to
the PHP-fpm containers (Traefik doesn't support FastCGI directly).
Sessions are shared between the various PHP containers using memcached.

Part of this work is based on [this repo](https://github.com/wandersonwhcr/docker-nginx-php-fpm)
This commit is contained in:
Emmanuel BENOîT 2025-01-05 21:09:27 +01:00
parent bdf56ece83
commit 5110ded7e5
Signed by: Emmanuel BENOîT
SSH key fingerprint: SHA256:l7PFUUF5TCDsvYeQC9OnTNz08dFY7Fvf4Hv3neIqYpg
8 changed files with 201 additions and 0 deletions

23
docker/env.example Normal file
View file

@ -0,0 +1,23 @@
# Version of software components
MEMCACHED_VERSION=1.6
NGINX_VERSION=1.19
PHP_VERSION=8.3
POSTGRESQL_VERSION=17
TRAEFIX_VERSION=2.4
# Port to bind on the host
HOST_PORT=80
# UID and GID to run php-fpm as
UID=1000
GID=1000
# PostgreSQL superuser password
PG_PASSWORD=...
# Database name
DB_NAME=tasks
# Database access username
DB_USER=tasks
# Database access password
DB_PASSWORD=...
# Base URL, if autodetection fails
BASE_URL=