Loading...
This guide covers the essential development services for Flash Turbo CMS and how to manage them.
The Flash Turbo CMS requires four essential services for local development:
# Interactive mode
./manage services
# Start all services
./manage s start all
# Check status
./manage s status
# Stop specific service
./manage s stop mongodb
cd Docker-Tools
# Start all services
docker-compose up -d
# Stop all services
docker-compose down
mongodb_dataDATABASE_URI=mongodb://0.0.0.0:27017redis_dataREDIS_URL=redis://localhost:6379minio_dataS3_ACCESS_KEY=bhuvan
S3_SECRET_KEY=bhuvanbm7
S3_ENDPOINT=http://localhost:9000
S3_BUCKET=local
SMTP_HOST=localhost
SMTP_PORT=1025
SMTP_SECURE=false
Add these to your .env file to use local services:
# Database (Local MongoDB)
DATABASE_URI=mongodb://0.0.0.0:27017
# Cache (Local Redis)
REDIS_URL=redis://localhost:6379
# S3 Storage (Local MinIO)
S3_ACCESS_KEY=bhuvan
S3_SECRET_KEY=bhuvanbm7
S3_ENDPOINT=http://localhost:9000
S3_REGION=local
S3_FORCE_PATH_STYLE=true
S3_BUCKET=local
# Email (Local MailHog)
SMTP_HOST=localhost
SMTP_USER=admin@localhost
SMTP_PASS=Flash@Cms@25
SMTP_PORT=1025
SMTP_SECURE=false
./manage services [command] [service]
Commands:
status Show status of all services
start [service] Start service(s) - mongodb, minio, mailhog, or 'all'
stop [service] Stop service(s) - mongodb, minio, mailhog, or 'all'
remove [service] Remove service and optionally its data
create-bucket Create MinIO 'local' bucket
help Show help
Examples:
./manage s # Interactive mode
./manage s status # Show service status
./manage s start all # Start all services
./manage s start mongodb # Start only MongoDB
./manage s stop minio # Stop only MinIO
./manage s create-bucket # Create MinIO bucket
IMPORTANT: Service data is stored in persistent volumes:
mongodb_data - MongoDB database filesminio_data - MinIO object storage filesData survives:
If containers are accidentally removed, data persists in volumes. Simply restart services:
./manage s start all
# Backup MongoDB data
podman run --rm -v mongodb_data:/data -v $(pwd):/backup alpine tar czf /backup/mongodb-backup.tar.gz -C /data .
# Backup MinIO data
podman run --rm -v minio_data:/data -v $(pwd):/backup alpine tar czf /backup/minio-backup.tar.gz -C /data .
If ports are in use, check what's using them:
sudo lsof -i :27017 # MongoDB
sudo lsof -i :9000 # MinIO API
sudo lsof -i :9001 # MinIO Console
sudo lsof -i :1025 # MailHog SMTP
sudo lsof -i :8025 # MailHog Web UI
# Check container logs
podman logs mongodb
podman logs minio
podman logs mailhog
# Restart a problematic service
./manage s stop mongodb
./manage s start mongodb
# List volumes
podman volume ls
# Inspect volume
podman volume inspect mongodb_data
# Remove volume (DATA LOSS!)
podman volume rm mongodb_data
# Test MongoDB
podman exec mongodb mongosh --eval "db.adminCommand('ping')"
# Test MinIO
curl -I http://localhost:9000/minio/health/live
# Test MailHog
curl -s -o /dev/null -w "%{http_code}" http://localhost:8025/
Flash Turbo CMS depends on these services being available:
Always ensure services are running before starting the application.