Self-Hosted

Self-host Rocketadmin

Deploy on your own infrastructure with Docker, Kubernetes, or Terraform. Full control over your data and complete privacy.

Source Available

BUSL licensed. Free for non-compete use, inspect and modify the code.

Self-Hosted Security

Your data never leaves your infrastructure. Full control over everything.

Regular Updates

Active development with frequent releases and security patches.

Community Support

Get help from the community on GitHub Discussions.

Docker

Quick start with Docker

The fastest way to run Rocketadmin. Pull the official image and start managing your databases in minutes.

Environment Variables

DATABASE_URL PostgreSQL connection string for Rocketadmin metadata Required
JWT_SECRET Secret key for JWT token signing (min 32 characters) Required
APP_DOMAIN_ADDRESS Your domain URL (e.g., https://admin.yourcompany.com)
PRIVATE_KEY RSA private key for encryption
Full Docker Guide
Docker Run
# Pull the latest image
docker pull rocketadmin/rocketadmin:latest

# Run with environment variables
docker run -d \
  --name rocketadmin \
  -p 3000:3000 \
  -e DATABASE_URL="postgres://..." \
  -e JWT_SECRET="your-secret-key" \
  rocketadmin/rocketadmin:latest
docker-compose.yml
version: '3.8'
services:
  rocketadmin:
    image: rocketadmin/rocketadmin:latest
    ports:
      - "3000:3000"
    environment:
      DATABASE_URL: postgres://user:pass@db:5432/rocketadmin
      JWT_SECRET: your-secret-key-min-32-chars
    depends_on:
      - db

  db:
    image: postgres:15
    environment:
      POSTGRES_DB: rocketadmin
      POSTGRES_USER: user
      POSTGRES_PASSWORD: pass
    volumes:
      - postgres_data:/var/lib/postgresql/data

volumes:
  postgres_data:
Helm Install
# Add the Rocketadmin Helm repository
helm repo add rocketadmin https://charts.rocketadmin.com
helm repo update

# Install Rocketadmin (uses PGlite by default)
helm install rocketadmin rocketadmin/rocketadmin \
  --namespace rocketadmin \
  --create-namespace
values.yaml
# Default configuration uses PGlite - no external DB needed!
replicaCount: 1

image:
  repository: rocketadmin/rocketadmin
  tag: latest

service:
  type: ClusterIP
  port: 80

ingress:
  enabled: true
  hosts:
    - host: admin.yourcompany.com
      paths:
        - path: /
          pathType: Prefix

# Optional: use external PostgreSQL instead of PGlite
# env:
#   DATABASE_URL: "postgres://user:pass@host:5432/db"

Kubernetes

Production-ready with Helm

Deploy Rocketadmin to any Kubernetes cluster using Helm. Includes support for horizontal scaling, ingress configuration, and persistent storage.

Helm Chart Features

  • PGlite by default — no external database required
  • External PostgreSQL via DATABASE_URL
  • Ingress with TLS certificate support
  • Configurable resource limits and requests
View on Artifact Hub

Terraform

Infrastructure as Code

Deploy Rocketadmin using Terraform's helm_release resource. Manage your Kubernetes deployments with infrastructure as code.

Benefits

  • Version-controlled infrastructure
  • Reproducible deployments across environments
  • State management and drift detection
  • Integration with existing Terraform workflows
Helm Provider Docs
main.tf
terraform {
  required_providers {
    helm = {
      source  = "hashicorp/helm"
      version = "~> 2.0"
    }
  }
}

provider "helm" {
  kubernetes {
    config_path = "~/.kube/config"
  }
}

# Uses PGlite by default - no external DB required
resource "helm_release" "rocketadmin" {
  name       = "rocketadmin"
  repository = "https://charts.rocketadmin.com"
  chart      = "rocketadmin"
  namespace  = "rocketadmin"

  create_namespace = true

  set {
    name  = "ingress.enabled"
    value = "true"
  }

  set {
    name  = "ingress.hosts[0].host"
    value = "admin.yourcompany.com"
  }
}
Deploy Commands
# Initialize Terraform
terraform init

# Preview changes
terraform plan

# Apply infrastructure
terraform apply

FAQ

Common Questions

What is the BUSL license?

The Business Source License (BUSL) allows you to view, modify, and use the code freely as long as you don't compete with Rocketadmin. After 4 years, the code converts to a permissive open source license.

Can I use the self-hosted version for my company?

Yes. You can use Rocketadmin internally to manage your databases. The license only restricts offering Rocketadmin as a competing hosted service.

What's the difference between cloud and self-hosted?

Both versions have the same features. Cloud is managed by us with automatic updates. Self-hosted runs on your infrastructure, giving you full control over data and deployment.

Is the self-hosted version free?

Yes, the self-hosted version is free for non-compete use. You can deploy it on your own servers without any license fees.

What is PGlite?

PGlite is an embedded PostgreSQL that runs inside the Rocketadmin container. It stores configuration data locally, so you don't need to set up a separate database.

Can I contribute to the project?

Yes. We welcome contributions on GitHub. You can submit bug reports, feature requests, or pull requests.

Need Help?

Check the documentation, browse GitHub issues, or join the community discussions.

Ready to build your admin panel?

Join 1,000+ teams. Get started in minutes, not months.

No credit card required · Free plan forever