version: '3.8' services: app: build: context: . dockerfile: Dockerfile args: # Update 'VARIANT' to pick an LTS version of Node.js: 20, 18, 16, 14. # Append -bullseye or -buster to pin to an OS version. # Use -bullseye variants on local arm64/Apple Silicon. VARIANT: "20" volumes: - ..:/workspace: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 # Uncomment the next line to use a non-root user for all processes. # user: node # Use "forwardPorts" in **devcontainer.json** to forward an app port locally. # (Adding the "ports" property to this file will not forward from a Codespace.) db: image: postgres:latest restart: unless-stopped volumes: - postgres-data:/var/lib/postgresql/data environment: POSTGRES_PASSWORD: postgres POSTGRES_USER: postgres POSTGRES_DB: formbricks # Add "forwardPorts": ["5432"] to **devcontainer.json** to forward PostgreSQL locally. # (Adding the "ports" property to this file will not forward from a Codespace.) mailhog: image: mailhog/mailhog network_mode: service:app logging: driver: "none" # disable saving logs # ports: # - 8025:8025 # web ui # 1025:1025 # smtp server volumes: postgres-data: null