version: '3.8' volumes: postgres-data: services: app: build: context: . dockerfile: Dockerfile env_file: # Ensure that the variables in .env match the same variables in devcontainer.json - .env volumes: - ../..:/workspaces:cached # Overrides default command so things don't shut down after the process ends. command: sleep infinity # Runs app on the same network as the database container, allows "forwardPorts" in devcontainer.json function. network_mode: service:mysql # Use "forwardPorts" in **devcontainer.json** to forward an app port locally. # (Adding the "ports" property to this file will not forward from a Codespace.) mysql: image: postgres:latest restart: unless-stopped volumes: - postgres-data:/var/lib/postgresql/data env_file: # Ensure that the variables in .env match the same variables in devcontainer.json - .env # Add "forwardPorts": ["5432"] to **devcontainer.json** to forward PostgreSQL locally. # (Adding the "ports" property to this file will not forward from a Codespace.) mongodb: image: mongo:latest restart: unless-stopped volumes: - mongodb-data:/data/db env_file: - .env