mirror of
https://github.com/olehomelchenko/Mini-VLAT-ua.git
synced 2025-12-21 13:12:22 +00:00
62 lines
1.8 KiB
YAML
62 lines
1.8 KiB
YAML
# docker-compose.prod.yml
|
|
version: '3.8'
|
|
|
|
services:
|
|
traefik:
|
|
image: traefik:v2.10
|
|
command:
|
|
- "--api.insecure=false"
|
|
- "--providers.docker=true"
|
|
- "--providers.docker.exposedbydefault=false"
|
|
- "--entrypoints.web.address=:80"
|
|
- "--entrypoints.websecure.address=:443"
|
|
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
|
|
- "--certificatesresolvers.myresolver.acme.email=ptrvtch@protonmail.com"
|
|
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
volumes:
|
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
|
- "./letsencrypt:/letsencrypt"
|
|
networks:
|
|
- web
|
|
|
|
frontend:
|
|
build:
|
|
context: ./ReactTool/frontend
|
|
args:
|
|
- NODE_ENV=production
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.frontend.rule=Host(`mini-vlat-ua.duckdns.org`)"
|
|
- "traefik.http.routers.frontend.entrypoints=websecure"
|
|
- "traefik.http.routers.frontend.tls.certresolver=myresolver"
|
|
- "traefik.http.services.frontend.loadbalancer.server.port=80"
|
|
networks:
|
|
- web
|
|
depends_on:
|
|
- backend
|
|
|
|
backend:
|
|
build:
|
|
context: ./ReactTool/backend
|
|
volumes:
|
|
- ./data/db:/app/data
|
|
environment:
|
|
- FLASK_ENV=production
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.backend.rule=Host(`mini-vlat-ua.duckdns.org`) && PathPrefix(`/api`)"
|
|
- "traefik.http.routers.backend.entrypoints=websecure"
|
|
- "traefik.http.routers.backend.tls.certresolver=myresolver"
|
|
- "traefik.http.services.backend.loadbalancer.server.port=5000"
|
|
- "traefik.http.middlewares.backend-strip.stripprefix.prefixes=/api"
|
|
- "traefik.http.routers.backend.middlewares=backend-strip@docker"
|
|
networks:
|
|
- web
|
|
|
|
networks:
|
|
web:
|
|
driver: bridge
|