| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- services:
- relay:
- build:
- context: .
- dockerfile: Dockerfile
- image: eks-relay:local
- container_name: eks-relay
- restart: always
- env_file: .env
- environment:
- - NODE_ENV=production
- - PORT=3000
- # Absolute path: Prisma resolves relative file: URLs against prisma/.
- - DATABASE_URL=file:/app/data/eks_relay.db
- volumes:
- # The whole repository is bind-mounted, so `git pull` + restart is enough
- # to ship a code change. node_modules stays in a named volume so the
- # container's Linux binaries are not shadowed by the host's.
- - .:/app
- - relay_node_modules:/app/node_modules
- - ./data:/app/data
- networks:
- - web
- labels:
- - traefik.enable=true
- - traefik.docker.network=web
- - traefik.http.routers.eksrelay.rule=Host(`eks-relay.easyklima.com`)
- - traefik.http.routers.eksrelay.entrypoints=https
- - traefik.http.routers.eksrelay.tls=true
- - traefik.http.routers.eksrelay.tls.certresolver=letsencrypt
- - traefik.http.services.eksrelay.loadbalancer.server.port=3000
- - traefik.http.routers.eksrelay.middlewares=eksrelay-headers
- - traefik.http.middlewares.eksrelay-headers.headers.sslredirect=true
- - traefik.http.middlewares.eksrelay-headers.headers.stsseconds=63072000
- - traefik.http.middlewares.eksrelay-headers.headers.stsincludesubdomains=true
- - traefik.http.middlewares.eksrelay-headers.headers.referrerpolicy=no-referrer
- # HTTP router only exists so Let's Encrypt can answer the ACME challenge.
- - traefik.http.routers.eksrelay-http.rule=Host(`eks-relay.easyklima.com`)
- - traefik.http.routers.eksrelay-http.entrypoints=http
- - traefik.http.routers.eksrelay-http.middlewares=eksrelay-to-https
- - traefik.http.middlewares.eksrelay-to-https.redirectscheme.scheme=https
- volumes:
- relay_node_modules:
- networks:
- web:
- external: true
|