📦 Installation
Get FlowCMS up and running in your local environment or production infrastructure. Choose your preferred installation method below.
Prerequisites
Before installing FlowCMS, ensure your environment meets the following requirements:
Node.js 18+
Required for the CLI, admin panel, and API server runtime.
Database
PostgreSQL 14+ (recommended) or MySQL 8+. SQLite available for dev.
Package Manager
npm 9+, pnpm 8+, or yarn 1.22+ installed globally.
nvm use 20
Quick Start
The fastest way to get started is using the official project scaffolding tool. It will create a new project with best practices pre-configured.
npx create-flowcms-app@latest my-flow-project
cd my-flow-project
npm run db:migrate
npm run dev
.env.local file with a SQLite database for local development. For production, switch to PostgreSQL.
Manual Installation
For existing projects or custom setups, install the core packages directly.
# Install core CMS engine and CLI
npm install @flowcms/core @flowcms/cli
# Optional: UI components for custom admin dashboards
npm install @flowcms/ui
Docker Installation
Deploy FlowCMS using Docker for consistent environments across dev, staging, and production.
version: '3.8'
services:
# PostgreSQL Database
db:
image: postgres:16-alpine
environment:
POSTGRES_DB: flowcms
POSTGRES_USER: flowcms
POSTGRES_PASSWORD: secure_password_here
volumes:
- pgdata:/var/lib/postgresql/data
# FlowCMS Application
flowcms:
image: ghcr.io/flowcms/flowcms:latest
depends_on:
- db
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://flowcms:secure_password_here@db:5432/flowcms
ADMIN_EMAIL: admin@example.com
ADMIN_PASSWORD: changeme123
JWT_SECRET: your_super_secret_key_here
volumes:
pgdata:
Run with docker compose up -d. The admin panel will be available at http://localhost:3000/admin.
Verification
After installation, verify that everything is running correctly:
# Check system status
npx flowcms doctor
# Expected output:
✅ Node.js v20.x.x detected
✅ Database connection successful (PostgreSQL 16)
✅ Admin panel accessible at http://localhost:3000/admin
✅ API endpoint ready at http://localhost:3000/api/v1
You can also test the API directly:
curl -X GET http://localhost:3000/api/v1/health
Environment Variables
Configure FlowCMS by creating a .env file in your project root. Below are the required and recommended variables:
# Database Connection
DATABASE_URL=postgresql://user:password@localhost:5432/flowcms
# Authentication
JWT_SECRET=generate-a-secure-random-string-here
ADMIN_EMAIL=you@company.com
ADMIN_PASSWORD=secure-initial-password
# Security & Rate Limiting
API_RATE_LIMIT=100
CORS_ORIGIN=http://localhost:5173
# Optional: Cloud Storage
STORAGE_PROVIDER=local # or s3, gcs, azure
JWT_SECRET using openssl rand -base64 32 or a password manager. Never commit .env to version control.
Next Steps
Now that FlowCMS is installed and verified, you're ready to start building: