[#40] BACKEND USER, Company

https://project.mdnd-it.cc/work_packages/40
This commit is contained in:
2025-06-15 01:12:46 +02:00
parent f68540f511
commit fa868e7c1d
32 changed files with 6337 additions and 860 deletions
+48 -38
View File
@@ -7,32 +7,34 @@ services:
volumes:
- /var/run/docker.sock:/var/run/docker.sock
backend:
build:
context: ..
dockerfile: SerpentRace_Docker/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
# 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:
@@ -53,25 +55,33 @@ services:
traefik.http.services.frontend.loadbalancer.server.port: 5173
db:
image: postgres
image: mariadb:latest
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}
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
- ./Default.sql:/docker-entrypoint-initdb.d/Default.sql:ro
- ./init-db-users.sh:/docker-entrypoint-initdb.d/init-db-users.sh:ro
- db_data:/var/lib/mysql
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
traefik.http.services.adminer.loadbalancer.server.port: 8080
volumes:
db_data: