2023-08-18 11:18:29 +03:00
|
|
|
version: '3'
|
2023-05-21 02:20:55 +03:00
|
|
|
|
|
|
|
services:
|
2023-08-18 11:18:29 +03:00
|
|
|
traefik:
|
|
|
|
image: traefik:v2.10
|
|
|
|
command:
|
|
|
|
- "--api.insecure=true"
|
|
|
|
- "--providers.docker=true"
|
|
|
|
- "--providers.docker.exposedbydefault=false"
|
|
|
|
- "--entrypoints.web.address=:5050"
|
|
|
|
ports:
|
|
|
|
- "5050:5050"
|
|
|
|
- "8080:8080" # For the Traefik dashboard (optional)
|
|
|
|
volumes:
|
|
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
|
|
|
2023-05-21 02:20:55 +03:00
|
|
|
frontend:
|
|
|
|
env_file:
|
2023-05-21 09:32:22 +03:00
|
|
|
- ./frontend/.env
|
2023-05-21 02:20:55 +03:00
|
|
|
build:
|
|
|
|
context: frontend
|
|
|
|
dockerfile: Dockerfile
|
|
|
|
container_name: web
|
|
|
|
restart: always
|
|
|
|
ports:
|
|
|
|
- 3000:3000
|
2023-08-18 11:18:29 +03:00
|
|
|
|
2023-07-17 09:57:27 +03:00
|
|
|
backend-core:
|
2023-05-21 02:20:55 +03:00
|
|
|
env_file:
|
2023-08-19 14:32:16 +03:00
|
|
|
- ./backend/.env
|
2023-05-21 02:20:55 +03:00
|
|
|
build:
|
2023-08-19 14:32:16 +03:00
|
|
|
context: backend
|
2023-07-18 17:34:08 +03:00
|
|
|
dockerfile: Dockerfile
|
2023-07-17 09:57:27 +03:00
|
|
|
container_name: backend-core
|
2023-08-18 11:18:29 +03:00
|
|
|
command: uvicorn main:app --host 0.0.0.0 --port 5050
|
2023-05-21 02:20:55 +03:00
|
|
|
restart: always
|
|
|
|
volumes:
|
2023-08-19 14:32:16 +03:00
|
|
|
- ./backend/:/code/
|
2023-08-18 11:18:29 +03:00
|
|
|
labels:
|
|
|
|
- "traefik.enable=true"
|
|
|
|
- "traefik.http.routers.backend-core.rule=PathPrefix(`/`)"
|
|
|
|
- "traefik.http.routers.backend-core.entrypoints=web"
|
|
|
|
- "traefik.http.services.backend-core.loadbalancer.server.port=5050"
|
|
|
|
|
|
|
|
backend-chat:
|
|
|
|
env_file:
|
2023-08-19 14:32:16 +03:00
|
|
|
- ./backend/.env
|
2023-08-18 11:18:29 +03:00
|
|
|
build:
|
2023-08-19 14:32:16 +03:00
|
|
|
context: backend
|
2023-08-18 11:18:29 +03:00
|
|
|
dockerfile: Dockerfile
|
|
|
|
container_name: backend-chat
|
|
|
|
command: uvicorn chat_service:app --host 0.0.0.0 --port 5050
|
|
|
|
restart: always
|
|
|
|
volumes:
|
2023-08-19 14:32:16 +03:00
|
|
|
- ./backend/:/code/
|
2023-08-18 11:18:29 +03:00
|
|
|
labels:
|
|
|
|
- "traefik.enable=true"
|
|
|
|
- "traefik.http.routers.backend-chat.rule=PathPrefix(`/chat`)"
|
|
|
|
- "traefik.http.routers.backend-chat.entrypoints=web"
|
|
|
|
- "traefik.http.services.backend-chat.loadbalancer.server.port=5050"
|
|
|
|
|
|
|
|
backend-crawl:
|
|
|
|
env_file:
|
2023-08-19 14:32:16 +03:00
|
|
|
- ./backend/.env
|
2023-08-18 11:18:29 +03:00
|
|
|
build:
|
2023-08-19 14:32:16 +03:00
|
|
|
context: backend
|
2023-08-18 11:18:29 +03:00
|
|
|
dockerfile: Dockerfile
|
|
|
|
container_name: backend-crawl
|
|
|
|
command: uvicorn crawl_service:app --host 0.0.0.0 --port 5050
|
|
|
|
restart: always
|
|
|
|
volumes:
|
2023-08-19 14:32:16 +03:00
|
|
|
- ./backend/:/code/
|
2023-08-18 11:18:29 +03:00
|
|
|
labels:
|
|
|
|
- "traefik.enable=true"
|
|
|
|
- "traefik.http.routers.backend-crawl.rule=PathPrefix(`/crawl`)"
|
|
|
|
- "traefik.http.routers.backend-crawl.entrypoints=web"
|
|
|
|
- "traefik.http.services.backend-crawl.loadbalancer.server.port=5050"
|
|
|
|
|
|
|
|
backend-upload:
|
|
|
|
env_file:
|
2023-08-19 14:32:16 +03:00
|
|
|
- ./backend/.env
|
2023-08-18 11:18:29 +03:00
|
|
|
build:
|
2023-08-19 14:32:16 +03:00
|
|
|
context: backend
|
2023-08-18 11:18:29 +03:00
|
|
|
dockerfile: Dockerfile
|
|
|
|
container_name: backend-upload
|
|
|
|
command: uvicorn upload_service:app --host 0.0.0.0 --port 5050
|
|
|
|
restart: always
|
|
|
|
volumes:
|
2023-08-19 14:32:16 +03:00
|
|
|
- ./backend/:/code/
|
2023-08-18 11:18:29 +03:00
|
|
|
labels:
|
|
|
|
- "traefik.enable=true"
|
|
|
|
- "traefik.http.routers.backend-upload.rule=PathPrefix(`/upload`)"
|
|
|
|
- "traefik.http.routers.backend-upload.entrypoints=web"
|
|
|
|
- "traefik.http.services.backend-upload.loadbalancer.server.port=5050"
|