version: "3.8" services: db: image: mysql:8.0 container_name: smartbuilding_db restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: cytech0001 MYSQL_DATABASE: user volumes: - z1_mysql-data:/var/lib/mysql - ./webapp/user.sql:/docker-entrypoint-initdb.d/user.sql:ro networks: - app-network phpmyadmin: image: phpmyadmin/phpmyadmin container_name: smartbuilding_pma restart: unless-stopped environment: PMA_HOST: db PMA_USER: root PMA_PASSWORD: cytech0001 ports: - "8080:80" networks: - app-network depends_on: - db webapp: build: context: ./webapp dockerfile: Dockerfile container_name: smartbuilding_webapp restart: unless-stopped command: > sh -c "until nc -z db 3306; do echo 'Waiting for MySQL...'; sleep 2; done; npm start" ports: - "3000:3000" environment: DB_HOST: db DB_USER: root DB_PASSWORD: cytech0001 DB_NAME: user networks: - app-network depends_on: - db networks: app-network: external: true volumes: z1_mysql-data: external: true