87 lines
2.6 KiB
YAML
87 lines
2.6 KiB
YAML
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: SerpentRace_Docker/Dockerfile
|
|
# target: prod
|
|
# environment:
|
|
# DATABASE_URL_1: "mysql://${DB_1}:${DB_PSWD_1}@db:3306/${DB_1}"
|
|
# DATABASE_URL_2: "mysql://${DB_2}:${DB_PSWD_2}@db:3306/${DB_2}"
|
|
# DATABASE_URL_3: "mysql://${DB_3}:${DB_PSWD_3}@db:3306/${DB_3}"
|
|
# DATABASE_URL_4: "mysql://${DB_4}:${DB_PSWD_4}@db:3306/${DB_4}"
|
|
# command: ["npx", "nodemon", "src/index.ts", "--watch", "src", "--ext", "ts"]
|
|
# develop:
|
|
# watch:
|
|
# - path: ../SerpentRace_Backend/src
|
|
# action: sync
|
|
# target: /usr/local/app/backend/src
|
|
# - path: ../SerpentRace_Backend/prisma
|
|
# action: sync
|
|
# target: /usr/local/app/backend/prisma
|
|
# actions:
|
|
# - migrate:all
|
|
# - path: ../SerpentRace_Backend/package.json
|
|
# action: rebuild
|
|
# labels:
|
|
# traefik.http.routers.backend.rule: Host(`api.localhost`)
|
|
# traefik.http.services.backend.loadbalancer.server.port: 3000
|
|
# depends_on:
|
|
# - db
|
|
|
|
frontend:
|
|
build:
|
|
context: ..
|
|
dockerfile: SerpentRace_Docker/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: mariadb:latest
|
|
restart: always
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
|
|
MYSQL_DATABASE: ${DB_1}
|
|
MYSQL_USER: ${Default_User}
|
|
MYSQL_PASSWORD: ${Default_Password}
|
|
DB_1: ${DB_1}
|
|
DB_2: ${DB_2}
|
|
DB_3: ${DB_3}
|
|
DB_4: ${DB_4}
|
|
PSWD_1: ${DB_PSWD_1}
|
|
PSWD_2: ${DB_PSWD_2}
|
|
PSWD_3: ${DB_PSWD_3}
|
|
PSWD_4: ${DB_PSWD_4}
|
|
volumes:
|
|
- ./init-multi-db.sh:/docker-entrypoint-initdb.d/init-multi-db.sh:ro
|
|
- ./init-db-users.sh:/docker-entrypoint-initdb.d/init-db-users.sh:ro
|
|
- db_data:/var/lib/mysql
|
|
|
|
|
|
adminer:
|
|
image: adminer
|
|
restart: always
|
|
labels:
|
|
traefik.http.routers.adminer.rule: Host(`db.localhost`)
|
|
traefik.http.services.adminer.loadbalancer.server.port: 8080
|
|
|
|
volumes:
|
|
db_data: |