Docker Setup
Run Ever Gauzy components as Docker containers.
Official Imagesโ
# API Server
docker pull ghcr.io/ever-co/gauzy-api:latest
# Web Application
docker pull ghcr.io/ever-co/gauzy-webapp:latest
# Demo (pre-seeded)
docker pull ghcr.io/ever-co/gauzy-api-demo:latest
docker pull ghcr.io/ever-co/gauzy-webapp-demo:latest
Quick Startโ
Run APIโ
docker run -d \
--name gauzy-api \
-p 3000:3000 \
-e DB_TYPE=sqlite \
-e DEMO=true \
ghcr.io/ever-co/gauzy-api-demo:latest
Run Web Appโ
docker run -d \
--name gauzy-webapp \
-p 4200:4200 \
-e API_BASE_URL=http://localhost:3000 \
ghcr.io/ever-co/gauzy-webapp:latest
Building Custom Imagesโ
API Dockerfileโ
# Build from source
docker build -t gauzy-api -f .deploy/api/Dockerfile .
Webapp Dockerfileโ
docker build -t gauzy-webapp -f .deploy/webapp/Dockerfile .
Multi-Stage Buildโ
The Dockerfiles use multi-stage builds:
Stage 1: Dependencies โ Install node_modules
Stage 2: Build โ Compile TypeScript, bundle Angular
Stage 3: Production โ Minimal runtime image
Benefits:
- Smaller final image size
- No dev dependencies in production
- Faster deployments
Health Checksโ
Docker images include health check endpoints:
HEALTHCHECK --interval=30s --timeout=10s --retries=3 \
CMD curl -f http://localhost:3000/api/health || exit 1
Volumesโ
| Volume | Path | Purpose |
|---|---|---|
| Uploads | /app/dist/apps/api/assets/uploads | File uploads |
| SQLite | /app/data | SQLite database (dev only) |
docker run -d \
-v gauzy-uploads:/app/dist/apps/api/assets/uploads \
ghcr.io/ever-co/gauzy-api:latest
Environment Variablesโ
Pass configuration via -e flags or --env-file:
docker run -d \
--env-file .env.production \
-p 3000:3000 \
ghcr.io/ever-co/gauzy-api:latest
Related Pagesโ
- Docker Compose โ multi-container orchestration
- Deployment Overview โ general deployment info