**Environment Variables:**
- Fixed docker-compose.ci.yml to use correct environment variable names:
- SURREALDB_JWT_SECRET (not SURREAL_JWT_SECRET)
- GOOGLE_GENERATIVE_AI_API_KEY (not GOOGLE_API_KEY)
- Updated Gitea Actions workflow to match correct variable names
**Docker Configuration:**
- Removed SurrealDB health check (minimal scratch image lacks utilities)
- Added 10-second sleep before Next.js starts to wait for SurrealDB
- Updated magnitude service to run as root user for npm global installs
- Added xvfb-run to magnitude command for headless browser testing
- Updated Playwright Docker image from v1.49.1 to v1.56.1 in both files
- Added named volume for node_modules to persist installations
**Test Configuration:**
- Updated magnitude.config.ts to use Claude Sonnet 4.5 (20250929)
- Added headless: true to playwright.config.ts
**Testing:**
- CI test script (./scripts/test-ci-locally.sh) now works correctly
- All services start properly: SurrealDB → Next.js → Magnitude
- Playwright launches successfully in headless mode with xvfb-run
Note: Users need to ensure .env contains:
- ATPROTO_CLIENT_ID
- ATPROTO_REDIRECT_URI
- SURREALDB_JWT_SECRET
- GOOGLE_GENERATIVE_AI_API_KEY
- ANTHROPIC_API_KEY
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Adds Playwright service to docker-compose.yml for easier test execution
and better integration with existing database services.
## Changes
- Add `playwright` service to docker-compose.yml:
- Uses official Playwright image (mcr.microsoft.com/playwright:v1.49.1-noble)
- Runs as non-root user (pwuser) for security
- Uses host networking to access dev server on localhost:3000
- Loads environment variables from .env
- Uses `profiles: [test]` to keep it optional
- Mounts node_modules volume to prevent permission issues
- Update documentation in AGENTS.md:
- Replace standalone Docker commands with docker-compose usage
- Document two usage patterns: `docker compose run` and `--profile test`
- Explain benefits of integrated setup
## Usage
```bash
# Start database services
docker compose up -d
# Start dev server
pnpm dev
# Run Playwright tests in Docker
docker compose run --rm playwright
```
Or with profiles:
```bash
# Run tests one-off
docker compose --profile test run --rm playwright
```
## Benefits
- Unified infrastructure setup (database + tests)
- No need for separate Dockerfile build step
- Easier for new developers to run tests
- Consistent with existing docker-compose workflow
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>