backend/compose.yml
2025-08-03 02:39:47 +02:00

79 lines
1.9 KiB
YAML

services:
db:
image: mysql:latest
restart: always
ports:
- "3306:3306"
networks:
- xpeditis
environment:
MYSQL_DATABASE_FILE: /run/secrets/mysql-database
MYSQL_USER_FILE: /run/secrets/mysql-user
MYSQL_PASSWORD_FILE: /run/secrets/mysql-password
MYSQL_ROOT_PASSWORD_FILE: /run/secrets/mysql-root-password
# MYSQL_RANDOM_ROOT_PASSWORD: '1'
secrets:
- mysql-database
- mysql-user
- mysql-password
- mysql-root-password
volumes:
- type: bind
source: ../database/mysql
target: /var/lib/mysql
- type: bind
source: ../database/config/docker-fixes.cnf
target: /etc/mysql/conf.d/docker-fixes.cnf
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "10"
container_name: db
back:
image: leblr-backend
restart: always
build:
context: .
dockerfile: Dockerfile
args:
XPEDITIS_PROFILE: prod
secrets:
- mysql-user
- mysql-password
target: production
ports:
- "8081:8080"
networks:
- xpeditis
depends_on:
- db
environment:
SPRING_DATASOURCE_URL:
SPRING_DATASOURCE_USERNAME:
SPRING_DATASOURCE_PASSWORD:
volumes:
- ./logs/prod:/opt/app/logs/prod:rw
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "10"
container_name: leblr_backend
secrets:
mysql-user:
file: ../database/secrets/mysql-user.txt
mysql-database:
file: ../database/secrets/mysql-database.txt
mysql-password:
file: ../database/secrets/mysql-password.txt
mysql-root-password:
file: ../database/secrets/mysql-root-password.txt
networks:
leblr:
name: leblr
external: true