
CapRover
Automated app and database deployment platform and self-hosted alternative to Render and Heroku.
Why consider CapRover?
CapRover is an open-source PaaS that manages web applications and databases on your own servers. It includes one-click app templates, web dashboard, and Let's Encrypt SSL.
Learn CapRover by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide11 sections
What is CapRover?
CapRover (formerly CaptainDuckDuck) is an open-source, automated Platform as a Service that manages web applications, workers, and databases on your Linux servers. Built on Docker Swarm and Nginx, CapRover provides a visual web dashboard alongside a command-line interface for deploying code, configuring custom domains, securing endpoints with free SSL certificates, and scaling containers.
It combines the developer ergonomics of modern cloud platforms like Render, Heroku, and Railway with the economics of running workloads on raw virtual servers.
Who Is It For?
- Web Developers & Teams: Deploying fullstack applications (Node, React, Django, Laravel, Rails) with automated SSL and domain routing.
- Homelabbers & Self-Hosters: Launching hundreds of self-hosted open-source apps (Nextcloud, WordPress, Strapi, MongoDB) using one-click catalog templates.
- Startups: Setting up staging and production environments with zero cloud vendor lock-in.
Key Features
- Intuitive web-based graphical dashboard for managing apps, databases, environment variables, and logs.
- One-click app library with dozens of pre-configured applications, databases, and monitoring tools.
- Built-in Nginx reverse proxy with automated Let's Encrypt HTTPS certificates in one click.
- Multi-node clustering support powered natively by underlying Docker Swarm mode.
- Git webhook integrations for automatic deployment on repository commits.
Installation and Setup
CapRover runs inside Docker and requires a server with a public IP and wildcard DNS record (e.g. *.captain.example.com).
# 1. Run the CapRover container on your serverdocker run -p 80:80 -p 443:443 -p 3000:3000 -v /var/run/docker.sock:/var/run/docker.sock -v /captain:/captain caprover/caprover# 2. Install the CapRover CLI locallynpm install -g caprover# 3. Connect and configure your servercaprover serversetupFollow the CLI prompts to input your server IP, wildcard root domain (captain.example.com), and administrator password. Once finished, access the graphical dashboard at https://captain.captain.example.com.
Deploying an Application
To deploy any project with a Dockerfile or Capfile:
# Inside your project directorycaprover deploySelect your configured CapRover server and target app name to initiate container building and zero-downtime deployment.
Practical Use Cases
1. One-Click Database and CMS Hosting
A developer launches a complete WordPress site with MySQL or a Strapi headless CMS with PostgreSQL in under two minutes using the built-in One-Click Apps marketplace.
2. Multi-App Production Cluster
An agency runs client web applications across three worker nodes joined to a CapRover Swarm leader, ensuring high availability and seamless failover.
3. Automated Webhook CI/CD
A team configures GitHub Webhooks to ping CapRover on pushes to main, triggering automatic builds and live zero-downtime rolling updates.
Troubleshooting and Limitations
- DNS Propagation: CapRover requires wildcard DNS resolution before issuing Let's Encrypt certificates; verify that
anything.captain.example.comresolves to your server IP before running SSL setup. - Root Domain Port Binding: CapRover must bind ports 80 and 443; ensure no existing Nginx, Apache, or Caddy instances are occupying those ports prior to installation.
Official Resources
- Official Website: https://caprover.com
- GitHub Repository: https://github.com/caprover/caprover
- Documentation: https://caprover.com/docs/get-started.html
Related tools
More options with a similar category or technology profile.
Dapr CLI
Command-line tool for managing Dapr distributed application runtime environments and sidecars.
bpytop
Python port of bashtop with game-like UI, responsive mouse support, and hardware sensors.
bashtop
Linux resource monitor showing usage and stats for processor, memory, disks, network, and processes.
SchemaHero
Kubernetes-native declarative database schema management and table migration operator.