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: xpeditis-backend restart: always build: context: . dockerfile: Dockerfile args: SPRING_PROFILES_ACTIVE: dev 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