đ Deploy FlowCMS
Deploy your FlowCMS instance to production with our optimized pipelines. Support for Docker, Vercel, Netlify, Kubernetes, and bare-metal.
â Verified for v3.2.0Deployment Overview
FlowCMS is designed for modern cloud architectures. Our deployment engine handles schema migrations, environment variables, asset optimization, and edge caching automatically. Choose the method that best fits your infrastructure.
Recommendation: For most teams, we recommend using the CLI or platform-native deployments (Vercel/Netlify). Docker is ideal for self-hosted or Kubernetes environments.
Environment Configuration
Before deploying, configure the following environment variables in your hosting provider or `.env` file:
| Variable | Description | Required |
|---|---|---|
FLOWCMS_API_KEY |
Primary authentication token for API requests | Yes |
DATABASE_URL |
PostgreSQL or MySQL connection string | Yes |
REDIS_URL |
Cache layer connection (optional but recommended) | No |
FLOWCMS_ADMIN_EMAIL |
Initial superadmin account email | No |
EDGE_REGIONS |
Comma-separated list of CDN edge regions | No |
Deployment Methods
Using FlowCMS CLI
The fastest way to deploy. The CLI handles builds, migrations, and optimization automatically.
# Install global CLI
npm install -g @flowcms/cli
# Login to your account
flowcms auth:login
# Deploy to production
flowcms deploy --env production --region us-east-1
# Verify deployment
flowcms status --env production
The CLI will prompt you for environment variables if not detected in your project root. Deployment typically takes 15-30 seconds depending on asset size.
Docker & Docker Compose
Self-host FlowCMS using our official Docker images. Includes built-in PostgreSQL and Redis services.
version: '3.8'
services:
flowcms:
image: ghcr.io/flowcms/core:latest
ports:
- "3000:3000"
environment:
- FLOWCMS_API_KEY=${FLOWCMS_API_KEY}
- DATABASE_URL=postgresql://flowcms:password@db:5432/flowcms
depends_on:
- db
- redis
db:
image: postgres:15-alpine
volumes:
- pgdata:/var/lib/postgresql/data
redis:
image: redis:7-alpine
volumes:
pgdata:
Production Note: Always use persistent volumes for the database. Do not run the latest tag in production without testing; pin to a specific version like :3.2.0-alpine.
Platform as a Service (Vercel/Netlify)
Connect your Git repository for zero-config deployments. FlowCMS supports edge functions and serverless databases out of the box.
Connect Repository
Import your FlowCMS project from GitHub, GitLab, or Bitbucket. The platform will auto-detect the project framework.
Configure Environment
Add your .env variables in the dashboard. Enable "Edge Network" for global low-latency responses.
Deploy & Preview
Every pull request generates a unique preview URL. Merges to main trigger production deployments automatically.
Post-Deployment Verification
After deployment, run these health checks to ensure everything is functioning correctly:
- API Health:
curl https://your-domain.com/api/healthshould return{"status":"ok","version":"3.2.0"} - Database Connection: Check logs for
[DB] Connection pool established - Asset Loading: Verify CDN is serving static assets with
cache-control: public, max-age=31536000
Deployment Successful! Your FlowCMS instance is now live. Access the admin dashboard at https://your-domain.com/admin
Troubleshooting
Common Deployment Errors
ECONNREFUSED: Database port not exposed or firewall blocking connection. VerifyDATABASE_URLincludes correct port.ENOENT: env file missing: Environment variables not properly passed during build. Check your CI/CD secrets.GraphQL schema mismatch: Runflowcms migratebefore deploying schema changes.
Need more help? Contact our engineering team or check the community forum.