services: backend: build: args: - NODE_ENV=development context: backend target: dev-envs command: npm run start-watch environment: - DATABASE_DB=example - DATABASE_USER=root - DATABASE_PASSWORD=/run/secrets/db-password - DATABASE_HOST=db - NODE_ENV=development ports: - 80:80 - 9229:9229 - 9230:9230 secrets: - db-password volumes: - /var/run/docker.sock:/var/run/docker.sock networks: - public - private depends_on: - db db: # We use a mariadb image which supports both amd64 & arm64 architecture image: mariadb:10.6.4-focal # If you really want to use MySQL, uncomment the following line #image: mysql:8.0.27 command: '--default-authentication-plugin=mysql_native_password' restart: always secrets: - db-password volumes: - db-data:/var/lib/mysql networks: - private environment: - MYSQL_DATABASE=example - MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db-password frontend: build: context: frontend target: dev-envs ports: - 3000:3000 volumes: - /var/run/docker.sock:/var/run/docker.sock networks: - public depends_on: - backend networks: public: private: volumes: back-notused: db-data: secrets: db-password: file: db/password.txt