Loading...
Loading...
Local Docker Compose development loop for Eve-compatible apps, with handoff to staging deploys.
npx skill4agent add eve-horizon/eve-skillpacks eve-local-dev-loopcompose.yamldocker-compose.yml.eve/manifest.yaml# Start local services (DB + migrations)
docker compose up -d
# Start API in dev mode (hot reload)
cd apps/api && npm run dev
# Start web in dev mode (Vite dev server with /api proxy)
cd apps/web && npm run dev
# View DB logs
docker compose logs -f
# Reset DB (drop + recreate + migrate)
docker compose down -v && docker compose up -dservices:
db:
image: postgres:16-alpine
ports:
- "5432:5432"
environment:
POSTGRES_USER: app
POSTGRES_PASSWORD: app
POSTGRES_DB: myapp
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U app -d myapp"]
interval: 5s
timeout: 5s
retries: 5
migrate:
image: public.ecr.aws/w7c4v0w3/eve-horizon/migrate:latest
environment:
DATABASE_URL: postgres://app:app@db:5432/myapp
volumes:
- ./db/migrations:/migrations:ro
depends_on:
db:
condition: service_healthy
volumes:
pgdata:schema_migrations20260312000000_initial_schema.sqldocker compose run --rm migratedbmigratemigratedb/migrations/x-eve.ingress.public: true${secret.KEY}.eve/dev-secrets.yaml.envDATABASE_URL=postgresql://app:app@localhost:5432/myapp.env.eve/dev-secrets.yaml.eve/dev-secrets.yaml.gitignorevite.config.ts/apihttp://localhost:3000# Ensure profile and auth are set
eve profile use staging
eve auth status
# Set required secrets
eve secrets set API_KEY "value" --project proj_xxx
# Deploy to staging (requires --ref with 40-char SHA or a ref resolved against --repo-dir)
eve env deploy staging --ref main --repo-dir .
# If the environment has a pipeline configured, this triggers the pipeline.
# Use --direct to bypass pipeline and deploy directly:
eve env deploy staging --ref main --repo-dir . --directeve job list --phase active
eve job follow <job-id>
eve job result <job-id>eve secrets listeve job diagnose <job-id>