upload-service/docker-compose.prod.yml

47 lines
1.3 KiB
YAML

services:
upload:
build: .
container_name: upload-service
restart: unless-stopped
volumes:
- upload_data:/data
env_file:
- .env
environment:
- PORT=8080
- DB_PATH=/data/upload.db
- BASE_URL=https://upload.jeffemmett.com
- INFISICAL_PROJECT_SLUG=upload-service
- INFISICAL_ENV=prod
- INFISICAL_URL=http://infisical:8080
labels:
- "traefik.enable=true"
- "traefik.http.routers.upload.rule=Host(`upload.jeffemmett.com`)"
- "traefik.http.routers.upload.entrypoints=web"
- "traefik.http.middlewares.upload-headers.headers.customrequestheaders.X-Forwarded-Proto=https"
- "traefik.http.routers.upload.middlewares=upload-headers"
- "traefik.http.services.upload.loadbalancer.server.port=8080"
# Disable request buffering for large uploads
- "traefik.http.middlewares.upload-buffering.buffering.maxRequestBodyBytes=0"
- "traefik.http.routers.upload.middlewares=upload-headers,upload-buffering"
- "traefik.docker.network=traefik-public"
cap_drop:
- ALL
security_opt:
- no-new-privileges:true
read_only: true
tmpfs:
- /tmp
networks:
- traefik-public
- infisical_infisical-internal
volumes:
upload_data:
networks:
traefik-public:
external: true
infisical_infisical-internal:
external: true