services: caddy: image: caddy:alpine ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile networks: - default postgres: container_name: our-postgres image: postgres:17 restart: unless-stopped env_file: ./.env volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD", "pg_isready", "-U", "postgres"] interval: 10s retries: 5 start_period: 10s timeout: 10s networks: - default server: image: gitea.futureporn.net/futureporn/our:latest container_name: our-server env_file: ./.env depends_on: postgres: condition: service_healthy networks: - default init: true entrypoint: > sh -c "npx prisma migrate deploy && npm run start:server" worker: image: gitea.futureporn.net/futureporn/our:latest container_name: our-worker env_file: ./.env depends_on: postgres: condition: service_healthy networks: - default init: true entrypoint: > sh -c "npm run start:worker" volumes: pgdata: networks: default: {}