version: '3' services: app: build: context: . dockerfile: dockerfile image: truncgil-finance-app:latest container_name: truncgil-finance-app restart: always stop_grace_period: 1m volumes: - .:/var/www networks: - app-network depends_on: db: condition: service_healthy web: image: nginx:alpine container_name: truncgil-finance-web restart: always ports: - "8089:80" volumes: - .:/var/www - ./nginx/default.conf:/etc/nginx/conf.d/default.conf networks: - app-network depends_on: - app db: image: mysql:8.0 container_name: truncgil-finance-db restart: unless-stopped stop_grace_period: 2m environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: truncgil_finance MYSQL_USER: truncgil_finance MYSQL_PASSWORD: "QWEFaca123++" volumes: - db_data:/var/lib/mysql networks: - app-network ports: - "3308:3306" healthcheck: test: ["CMD-SHELL", "mysqladmin ping -h localhost -u root -proot"] interval: 10s timeout: 5s retries: 5 start_period: 10s networks: app-network: driver: bridge volumes: db_data: