Skip to main content

Self-Hosted Deployment

Run LusterCMS on your own infrastructure.

Requirements

  • Server: 2+ CPU cores, 4GB+ RAM
  • OS: Ubuntu 22.04+ or similar
  • Docker: 24.0+
  • Docker Compose: 2.0+
  • PostgreSQL: 15+ (or use Docker)
  • Redis: 7+ (or use Docker)

Quick Start with Docker

# Clone repository
git clone https://github.com/lustercms/lustercms.git
cd lustercms

# Copy environment file
cp .env.example .env

# Edit configuration
nano .env

# Start services
docker compose up -d

Manual Installation

1. Install Dependencies

# Python
pip install -r requirements.txt

# Node.js
cd frontend && npm install

2. Configure Database

# Create database
createdb lustercms

# Run migrations
python -m cli.cms_cli migrate

3. Start Services

# Backend
python main.py

# Frontend
cd frontend && npm run dev

# Collaboration server
cd collab-websocket && npm start

Production Setup

Reverse Proxy (Nginx)

server {
listen 80;
server_name cms.example.com;

location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
}

location /api {
proxy_pass http://localhost:8000;
}
}

SSL (Let's Encrypt)

certbot --nginx -d cms.example.com

Process Manager (PM2)

pm2 start ecosystem.config.js
pm2 save
pm2 startup

Scaling

For high traffic:

  1. Load balancer — Distribute traffic
  2. Multiple backends — Horizontal scaling
  3. Read replicas — Database scaling
  4. Redis cluster — Cache scaling
  5. CDN — Static asset delivery

Backups

# Database backup
pg_dump lustercms > backup.sql

# Media backup
tar -czf media.tar.gz uploads/

# Automated backups
crontab -e
0 2 * * * /path/to/backup.sh