services: echoes_of_the_ashes_db: image: postgres:15 container_name: echoes_of_the_ashes_db restart: unless-stopped environment: - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DB=${POSTGRES_DB} volumes: - echoes-postgres-data:/var/lib/postgresql/data networks: - default_docker #ports: # Optional: expose port to host for debugging with a DB client # - "5432:5432" echoes_of_the_ashes_bot: build: . container_name: echoes_of_the_ashes_bot restart: unless-stopped env_file: - .env volumes: - ./gamedata:/app/gamedata:rw - ./images:/app/images:ro depends_on: - echoes_of_the_ashes_db networks: - default_docker echoes_of_the_ashes_map: build: context: . dockerfile: Dockerfile.map container_name: echoes_of_the_ashes_map restart: unless-stopped env_file: - .env volumes: - ./gamedata:/app/gamedata:rw - ./images:/app/images:rw - /var/run/docker.sock:/var/run/docker.sock:ro ports: - 8080:8080 networks: - default_docker - traefik labels: - traefik.enable=true - traefik.http.routers.echoesoftheash-http.entrypoints=web - traefik.http.routers.echoesoftheash-http.rule=Host(`echoesoftheash.patacuack.net`) - traefik.http.routers.echoesoftheash-http.middlewares=https-redirect@file - traefik.http.routers.echoesoftheash.entrypoints=websecure - traefik.http.routers.echoesoftheash.rule=Host(`echoesoftheash.patacuack.net`) - traefik.http.routers.echoesoftheash.tls=true - traefik.http.routers.echoesoftheash.tls.certResolver=production - traefik.http.services.echoesoftheash.loadbalancer.server.port=8080 volumes: echoes-postgres-data: name: echoes-of-the-ashes-postgres-data networks: default_docker: external: true name: default_docker traefik: external: true name: traefik