version: '3.8' services: app: build: context: . dockerfile: Dockerfile env_file: # Ensure that the variables in .env match the same variables in devcontainer.json - psql.env - mysql.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:db # Use "forwardPorts" in **devcontainer.json** to forward an app port locally. # (Adding the "ports" property to this file will not forward from a Codespace.) psql: 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 - psql.env mariadb: image: mariadb:11-jammy restart: unless-stopped volumes: - mariadb-data:/var/lib/mysql env_file: - mysql.env # Add "forwardPorts": ["5432"] to **devcontainer.json** to forward PostgreSQL locally. # (Adding the "ports" property to this file will not forward from a Codespace.) redis: image: redis:7-alpine restart: unless-stopped volumes: postgres-data: mariadb-data: