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:
- Load balancer — Distribute traffic
- Multiple backends — Horizontal scaling
- Read replicas — Database scaling
- Redis cluster — Cache scaling
- 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