Self-Hosting with Docker Compose
RasnuCloud is fully self-hostable. Run the complete platform on your own infrastructure, with full control over your data.
Requirements
- A Linux server with at least 2 vCPU and 4 GB RAM
- Docker and Docker Compose installed
- A domain name (for HTTPS)
- An outbound SMTP server (for email — or you can use Resend, Postmark, or Mailgun)
Getting Started
1. Clone the repository
bash
git clone https://github.com/rasnucloud-io/rasnucloud.git
cd rasnucloud2. Configure environment
bash
cp .env.example .envOpen .env and configure the required values. The minimum required configuration:
bash
APP_URL=https://rasnucloud.mycompany.com
APP_KEY= # Generate with: php artisan key:generate
DB_HOST=db
DB_DATABASE=rasnucloud
DB_USERNAME=rasnucloud
DB_PASSWORD=a-strong-password-here
REDIS_HOST=redis
MAIL_HOST=smtp.postmarkapp.com # Or your SMTP provider
MAIL_PORT=587
MAIL_USERNAME=your-postmark-api-key
MAIL_PASSWORD=your-postmark-api-key
MAIL_FROM_ADDRESS=[email protected]
REVERB_APP_KEY=a-random-string # Generate: openssl rand -hex 16
REVERB_APP_SECRET=a-random-string # Generate: openssl rand -hex 32
GEMINI_API_KEY= # Your Google AI API key3. Start the stack
bash
docker compose up -d4. Initialize the database
bash
docker compose exec app php artisan migrate --force5. Configure your reverse proxy
Point your domain to this server and configure Nginx or Caddy to proxy to port 8000. See Reverse Proxy Setup →
The Stack
RasnuCloud runs as a set of Docker services managed by Compose. You don't need to understand what each service does to run the platform — but for reference:
| Service | What It Does |
|---|---|
app | The RasnuCloud web application and API |
worker | Background job processor for AI tasks, installations, and migrations |
db | PostgreSQL — primary database |
redis | Cache and real-time messaging |
reverb | WebSocket server for live terminal output and real-time updates |
Upgrading
When a new version is released:
bash
git pull origin main
docker compose pull
docker compose up -d
docker compose exec app php artisan migrate --forceCheck the Changelog for breaking changes before upgrading major versions.
Backup
Back up your database regularly:
bash
docker compose exec db pg_dump -U rasnucloud rasnucloud > rasnucloud-backup-$(date +%Y%m%d).sqlStore backups off-server. RasnuCloud does not automatically back up your data.