services: app: build: context: .. dockerfile: .devcontainer/Dockerfile volumes: - ..:/workspace:cached - bun-cache:/home/bun/.bun/cache:delegated command: sleep infinity deploy: resources: limits: memory: 8G environment: - NODE_ENV=development - DATABASE_URL=postgresql://postgres:postgres@db:5432/simstudio - BETTER_AUTH_URL=http://localhost:3000 - NEXT_PUBLIC_APP_URL=http://localhost:3000 - BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET:-your_auth_secret_here} - ENCRYPTION_KEY=${ENCRYPTION_KEY:-your_encryption_key_here} - COPILOT_API_KEY=${COPILOT_API_KEY} - SIM_AGENT_API_URL=${SIM_AGENT_API_URL} - OLLAMA_URL=${OLLAMA_URL:-http://localhost:11434} - NEXT_PUBLIC_SOCKET_URL=${NEXT_PUBLIC_SOCKET_URL:-http://localhost:3002} - BUN_INSTALL_CACHE_DIR=/home/bun/.bun/cache depends_on: db: condition: service_healthy migrations: condition: service_completed_successfully ports: - "3000:3000" - "3001:3001" working_dir: /workspace realtime: build: context: .. dockerfile: .devcontainer/Dockerfile volumes: - ..:/workspace:cached - bun-cache:/home/bun/.bun/cache:delegated command: sleep infinity deploy: resources: limits: memory: 4G environment: - NODE_ENV=development - DATABASE_URL=postgresql://postgres:postgres@db:5432/simstudio - BETTER_AUTH_URL=http://localhost:3000 - NEXT_PUBLIC_APP_URL=http://localhost:3000 - BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET:-your_auth_secret_here} depends_on: db: condition: service_healthy ports: - "3002:3002" working_dir: /workspace migrations: build: context: .. dockerfile: docker/db.Dockerfile environment: - DATABASE_URL=postgresql://postgres:postgres@db:5432/simstudio depends_on: db: condition: service_healthy command: ['bun', 'run', 'db:migrate'] restart: 'no' db: image: pgvector/pgvector:pg17 restart: unless-stopped volumes: - postgres-data:/var/lib/postgresql/data environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres - POSTGRES_DB=simstudio ports: - "${POSTGRES_PORT:-5432}:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 5s timeout: 5s retries: 5 volumes: postgres-data: bun-cache: