version: '3.8' services: frontend: build: context: ./surfsense_web dockerfile: Dockerfile ports: - "${FRONTEND_PORT:-3000}:3000" volumes: - ./surfsense_web:/app - /app/node_modules depends_on: - backend environment: - NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL:-http://backend:8000} backend: build: context: ./surfsense_backend dockerfile: Dockerfile ports: - "${BACKEND_PORT:-8000}:8000" volumes: - ./surfsense_backend:/app depends_on: - db env_file: - ./surfsense_backend/.env environment: - DATABASE_URL=postgresql+asyncpg://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@db:5432/${POSTGRES_DB:-surfsense} - PYTHONPATH=/app - UVICORN_LOOP=asyncio - UNSTRUCTURED_HAS_PATCHED_LOOP=1