46 lines
1.5 KiB
YAML
46 lines
1.5 KiB
YAML
services:
|
|
backend:
|
|
build:
|
|
context: ./backend
|
|
image: gastro-backend:latest
|
|
container_name: gastro-backend
|
|
restart: unless-stopped
|
|
environment:
|
|
DATABASE_URL: ${DATABASE_URL}
|
|
DATABASE_USER: ${DATABASE_USER}
|
|
DATABASE_PASSWORD: ${DATABASE_PASSWORD}
|
|
|
|
JWT_SECRET: ${JWT_SECRET}
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=traefik-network"
|
|
- "traefik.http.routers.gastro-backend.rule=Host(`api-gastro.byhaider.dev`)"
|
|
- "traefik.http.routers.gastro-backend.entrypoints=websecure"
|
|
- "traefik.http.routers.gastro-backend.tls=true"
|
|
- "traefik.http.routers.gastro-backend.tls.certResolver=cloudflare"
|
|
- "traefik.http.services.gastro-backend.loadbalancer.server.port=8080"
|
|
networks:
|
|
- postgresql
|
|
- traefik-network
|
|
|
|
frontend:
|
|
build:
|
|
context: ./frontend
|
|
image: gastro-frontend:latest
|
|
container_name: gastro-frontend
|
|
restart: unless-stopped
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.gastro-frontend.rule=Host(`gastro.byhaider.dev`)"
|
|
- "traefik.http.routers.gastro-frontend.entrypoints=websecure"
|
|
- "traefik.http.routers.gastro-frontend.tls=true"
|
|
- "traefik.http.routers.gastro-frontend.tls.certResolver=cloudflare"
|
|
- "traefik.http.services.gastro-frontend.loadbalancer.server.port=80"
|
|
networks:
|
|
- traefik-network
|
|
|
|
networks:
|
|
traefik-network:
|
|
external: true
|
|
postgresql:
|
|
external: true |