Files
production-infra/hydra/docker-compose.yaml

56 lines
1.6 KiB
YAML

networks:
proxy:
external: true
hydra:
volumes:
hydra-db:
hydra-storage:
name: hydra-storage
services:
app:
image: gitea.fam-steinle.de/cs/hydra:latest
restart: always
dns:
- '8.8.8.8'
links:
- pgsql
depends_on:
pgsql:
condition: service_healthy
working_dir: /var/www
volumes:
- ./.env:/var/www/.env
- hydra-storage:/var/www/storage/app/private
networks:
- proxy
- hydra
labels:
- "traefik.enable=true"
- "traefik.http.routers.hydra.rule=Host(`hydras-revenge.ddnss.org`) || Host(`hydra.steinle-computer.de`)"
- "traefik.http.routers.hydra.entrypoints=web"
- "traefik.http.routers.hydra.middlewares=hydra"
- "traefik.http.middlewares.hydra.redirectscheme.scheme=https"
- "traefik.http.routers.hydra-secure.rule=Host(`hydras-revenge.ddnss.org`) || Host(`hydra.steinle-computer.de`)"
- "traefik.http.routers.hydra-secure.entrypoints=websecure"
- "traefik.http.routers.hydra-secure.tls=true"
- "traefik.http.routers.hydra-secure.tls.certresolver=cs"
- "traefik.http.routers.hydra-secure.service=hydra-secure"
- "traefik.http.services.hydra-secure.loadbalancer.server.port=80"
pgsql:
image: postgres:17-alpine
restart: unless-stopped
volumes:
- hydra-db:/var/lib/postgresql/data
networks:
- hydra
environment:
PGPASSWORD: $*8D%!nnoiiu6w
POSTGRES_PASSWORD: $*8D%!nnoiiu6w
POSTGRES_USER: hydra
POSTGRES_DB: hydra
healthcheck:
test: ["CMD-SHELL", "pg_isready -U steinle"]