This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
services:
|
||||
proxy:
|
||||
image: traefik:v2.11
|
||||
command: --providers.docker
|
||||
ports:
|
||||
- 80:80
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
|
||||
backend:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
target: prod
|
||||
environment:
|
||||
POSTGRES_HOST: db
|
||||
POSTGRES_USER: ${POSTGRES_USER}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
POSTGRES_DB: ${POSTGRES_DB_1}
|
||||
DB_1: ${POSTGRES_DB_2}
|
||||
DB_2: ${POSTGRES_DB_3}
|
||||
DB_3: ${POSTGRES_DB_4}
|
||||
command: ["npx", "nodemon", "src/index.mjs"]
|
||||
develop:
|
||||
watch:
|
||||
- path: ./SerpentRace_Backend/src
|
||||
action: sync
|
||||
target: /usr/local/app/backend/src
|
||||
- path: ./SerpentRace_Backend/package.json
|
||||
action: rebuild
|
||||
labels:
|
||||
traefik.http.routers.backend.rule: Host(`localhost`) && PathPrefix(`/api`)
|
||||
traefik.http.services.backend.loadbalancer.server.port: 3000
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
frontend:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
target: client-build
|
||||
command: ["npm", "run", "dev", "--", "--host", "0.0.0.0", "--port", "5173"]
|
||||
working_dir: /usr/local/app/frontend
|
||||
develop:
|
||||
watch:
|
||||
- path: ./SerpentRace_Frontend/src
|
||||
action: sync
|
||||
target: /usr/local/app/frontend/src
|
||||
- path: ./SerpentRace_Frontend/package.json
|
||||
action: rebuild
|
||||
labels:
|
||||
traefik.http.routers.frontend.rule: Host(`localhost`)
|
||||
traefik.http.services.frontend.loadbalancer.server.port: 5173
|
||||
|
||||
db:
|
||||
image: postgres
|
||||
restart: always
|
||||
shm_size: 128mb
|
||||
environment:
|
||||
POSTGRES_USER: ${POSTGRES_USER}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
POSTGRES_DB: ${POSTGRES_DB_1}
|
||||
DB_1: ${POSTGRES_DB_2}
|
||||
DB_2: ${POSTGRES_DB_3}
|
||||
DB_3: ${POSTGRES_DB_4}
|
||||
volumes:
|
||||
- ./init-multi-db.sh:/docker-entrypoint-initdb.d/init-multi-db.sh:ro
|
||||
|
||||
adminer:
|
||||
image: adminer
|
||||
restart: always
|
||||
ports:
|
||||
- "8080:8080"
|
||||
labels:
|
||||
traefik.http.routers.adminer.rule: Host(`db.localhost`)
|
||||
traefik.http.services.adminer.loadbalancer.server.port: 8080
|
||||
Reference in New Issue
Block a user