- Copy env file
cp .env.example .env- Start services
docker compose up --build- Run migrations (Docker)
docker compose exec api python -m alembic -c server/alembic.ini upgrade head- Health check
curl http://localhost:8000/health- Open frontend
http://localhost:5173
EASM_APP_ENV: environment name (default: dev)EASM_DATABASE_URL: SQLAlchemy database URLEASM_REDIS_URL: Redis URL (default:redis://redis:6379/0in docker network)EASM_AUTH_ENABLED: enable API key auth (default:true)EASM_API_KEYS: comma-separated API keys for API accessEASM_API_KEY_PROJECT_MAP: optional JSON ACL map for project-level authorizationEASM_SCAN_VERIFY_TLS: verify TLS certificates for scanning (default:true)EASM_CORS_ENABLED: enable CORS middleware (default:true)EASM_CORS_ALLOW_ORIGINS: allowed origins (comma-separated, default:*)EASM_CORS_ALLOW_METHODS: allowed methods (comma-separated)EASM_CORS_ALLOW_HEADERS: allowed headers (comma-separated, default:*)EASM_CORS_ALLOW_CREDENTIALS: allow credentials (default:false)VITE_API_BASE_URL: frontend API base URL baked at image build time (default:http://localhost:8000)VITE_API_KEY: optional default API key baked at image build time
# run api locally
uvicorn server.app.main:app --host 0.0.0.0 --port 8000
# run worker locally
celery -A worker.app.celery_app:celery_app worker -Q default -l info
# run alembic migrations (local venv)
EASM_DATABASE_URL=postgresql+psycopg://easm:easm@localhost:5432/easm \
alembic -c server/alembic.ini upgrade head
# db connectivity check
python server/app/scripts/db_check.py