services: kitchenowl: image: tombursch/kitchenowl:latest container_name: ${CONTAINER_NAME} restart: ${RESTART_POLICY} logging: driver: "json-file" options: max-size: "10m" max-file: "3" environment: - DATABASE_URL=${DB_PROVIDER}://${DB_USER}:${DB_PASSWORD}@db:${DB_PORT}/${DB_DATABASE} - BACKEND_PROVIDER=${DB_BACKEND_PROVIDER} networks: - traefik - internal_net labels: - "traefik.enable=true" - "traefik.http.routers.${ROUTER_NAME}.entrypoints=websecure" - "traefik.http.routers.${ROUTER_NAME}.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)" - "traefik.http.routers.${ROUTER_NAME}.tls=true" - "traefik.http.routers.${ROUTER_NAME}.tls.certresolver=${CERTIFICATE_RESOLVER}" - "traefik.http.services.${ROUTER_NAME}.loadbalancer.server.port=${CONTAINER_PORT}" - "traefik.docker.network=${TRAEFIK_NETWORK}" - "traefik.http.middlewares.${ROUTER_NAME}-stripprefix.headers.customrequestheaders.X-Forwarded-Proto=http" - "traefik.http.routers.${ROUTER_NAME}.middlewares=kitchenowl-compress" - "traefik.http.middlewares.${ROUTER_NAME}-compress.compress=true" depends_on: - db db: image: postgres:15-alpine container_name: ${CONTAINER_NAME}_db restart: ${RESTART_POLICY} environment: - POSTGRES_USER=${DB_USER} - POSTGRES_PASSWORD=${DB_PASSWORD} - POSTGRES_DB=${DB_DATABASE} volumes: - type: bind source: ${DB_PATH} target: /var/lib/postgresql/data bind: create_host_path: true logging: driver: "json-file" options: max-size: "10m" max-file: "3" networks: - internal_net networks: traefik: external: true internal_net: driver: bridge