version: '3.8' services: mysql: image: mysql:10 container_name: smalltown_mysql restart: always environment: MYSQL_ROOT_PASSWORD: rootpass MYSQL_DATABASE: smalltown MYSQL_USER: smalltown MYSQL_PASSWORD: MyPassword1+ ports: - "3306:3306" volumes: - mysql_data:/var/lib/mysql healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] interval: 10s timeout: 5s retries: 5 smalltown: build: . container_name: smalltown_app restart: always ports: - "3000:3000" environment: - NODE_ENV=production - DB_HOST=mysql - DB_PORT=3306 - DB_USER=smalltown - DB_PASSWORD=MyPassword1+ - DB_NAME=smalltown - OSS_URL=http://myoss:9000 - OSS_API_KEY=7cf93760ea49b750c96e6078b364e5f0 volumes: - uploads:/app/public/uploads depends_on: mysql: condition: service_healthy volumes: mysql_data: uploads: