haiku-atelier-2024/compose.yaml
2025-11-05 10:32:03 +01:00

147 lines
3.7 KiB
YAML
Executable file

name: "haikuatelier.fr"
networks:
haiku-network:
services:
db:
container_name: "haikuatelier.fr-db"
env_file:
- path: "./.env"
required: true
healthcheck:
interval: "10s"
retries: 3
start_period: "60s"
test:
- "CMD"
- "healthcheck.sh"
- "--connect"
- "--innodb_initialized"
timeout: "5s"
image: "docker.io/library/mariadb:latest"
labels:
- "traefik.enable=false"
networks:
- "haiku-network"
restart: "unless-stopped"
volumes:
- "db-data:/var/lib/mysql:rw"
jaeger:
container_name: "haikuatelier.fr-jaeger"
environment:
- "COLLECTOR_OTLP_ENABLED=true"
healthcheck:
interval: "5s"
retries: 3
start_period: "5s"
test:
- "CMD"
- "wget"
- "--spider"
- "http://localhost:16686"
timeout: "2s"
image: "cr.jaegertracing.io/jaegertracing/jaeger:latest"
networks:
- "haiku-network"
ports:
- "6831:6831/udp"
- "6832:6832/udp"
- "5778:5778"
- "16686:16686"
- "4317:4317"
- "4318:4318"
- "14250:14250"
- "14268:14268"
- "14269:14269"
proxy:
container_name: "haikuatelier.fr-proxy"
depends_on:
- "wordpress"
env_file:
- path: "./.env"
required: true
healthcheck:
interval: "10s"
retries: 3
test:
- "CMD-SHELL"
- "curl http://localhost/health | grep UP"
timeout: "5s"
image: "docker.io/eilandert/angie:latest"
networks:
- "haiku-network"
restart: "on-failure:3"
volumes:
- "./containers/conf/angie:/etc/angie:rw"
- "./containers/data/certs:/etc/angie/ssl:ro"
- "./containers/data/angie/logs:/var/log/angie:rw"
- "./:/var/www/wordpress:ro"
traefik:
container_name: "haikuatelier.fr-traefik"
env_file:
- path: "./.env"
required: true
healthcheck:
interval: "10s"
retries: 3
test:
- "CMD"
- "traefik"
- "healthcheck"
- "--ping"
timeout: "5s"
image: "traefik"
mem_limit: "256m"
mem_reservation: "128m"
networks:
- "haiku-network"
ports:
- "127.0.0.1:80:80"
- "127.0.0.1:443:443"
- "127.0.0.1:8082:8082"
restart: "unless-stopped"
volumes:
- "./containers/conf/traefik/dynamic:/etc/traefik/dynamic:ro"
- "./containers/conf/traefik/traefik.yaml:/etc/traefik/traefik.yml:ro"
- "./containers/data/certs:/etc/certs/:ro"
- "./containers/data/traefik/logs:/var/log/traefik:rw"
- "/var/run/user/1000/podman/podman.sock:/var/run/docker.sock:ro"
valkey:
command: "valkey-server /usr/local/etc/valkey/valkey.conf"
container_name: "haikuatelier.fr-valkey"
env_file:
- path: "./.env"
required: true
healthcheck:
interval: "10s"
retries: 3
test:
- "CMD-SHELL"
- "valkey-cli ping | grep PONG"
timeout: "5s"
image: "docker.io/valkey/valkey:8-alpine"
restart: "unless-stopped"
sysctls:
- "net.core.somaxconn=512"
volumes:
- "./containers/conf/valkey.conf:/usr/local/etc/valkey/valkey.conf:ro"
- "./containers/data/valkey:/data:rw"
wordpress:
container_name: "haikuatelier.fr-wordpress"
depends_on:
- "db"
- "valkey"
- "traefik"
env_file:
- path: "./.env"
required: true
image: "localhost/wordpress-haiku-atelier"
networks:
- "haiku-network"
ports:
- "127.0.0.1:9000:9000"
restart: "unless-stopped"
volumes:
- "./containers/conf/php.ini:/usr/local/etc/php/conf.d/custom.ini:ro"
- "./:/var/www/wordpress:rw"
volumes:
db-data: null