CapRover Application Platform
Easy-to-use PaaS to deploy applications with one-click apps.
Overview
CapRover is an open-source Platform-as-a-Service (PaaS) built on Docker that transforms any Linux server into a powerful application hosting platform. Created to simplify the deployment process for developers and small teams, CapRover provides a web-based dashboard for managing applications, databases, and services without requiring deep DevOps expertise. It automatically handles container orchestration, load balancing, and SSL certificate management through integrated NGINX reverse proxy and Certbot automation. This stack combines CapRover's application management capabilities with NGINX's proven performance for HTTP routing and SSL termination, while Certbot ensures automatic certificate provisioning and renewal from Let's Encrypt. The platform excels at bridging the gap between simple shared hosting and complex orchestration platforms like Kubernetes, offering one-click deployments for popular applications while maintaining the flexibility to deploy custom Docker images. Development teams, startups, and individual developers benefit from this combination when they need reliable application hosting with minimal infrastructure management overhead, making it particularly valuable for rapid prototyping, staging environments, and production workloads that don't require enterprise-scale orchestration complexity.
Key Features
- Web-based dashboard for application lifecycle management with real-time deployment logs
- One-click marketplace apps including WordPress, Ghost, MongoDB, Redis, and PostgreSQL
- Automatic NGINX reverse proxy configuration with custom domain mapping
- Built-in Let's Encrypt integration via Certbot for automatic SSL certificate management
- Docker registry support for private image deployments with authentication
- Application clustering and zero-downtime deployments with health checks
- Built-in monitoring dashboard with container resource usage and application metrics
- CLI tool for CI/CD pipeline integration and automated deployments
Common Use Cases
- 1Rapid prototyping environment for development teams testing multiple microservices
- 2Small to medium business hosting platform for WordPress sites and web applications
- 3Staging and testing infrastructure for software development workflows
- 4Personal cloud platform for self-hosted alternatives to SaaS applications
- 5Startup MVP deployment platform requiring quick iteration and scaling
- 6Educational environment for teaching containerization and deployment concepts
- 7Remote team collaboration platform hosting development tools and databases
Prerequisites
- Linux server with Docker and Docker Compose installed (Ubuntu 18+ recommended)
- Minimum 1GB RAM and 10GB storage (2GB+ RAM recommended for multiple applications)
- Domain name with DNS access for subdomain configuration and SSL certificates
- Ports 80, 443, and 3000 available and accessible from the internet
- SERVER_IP environment variable configured with your server's public IP address
- Basic understanding of Docker concepts and command line interface
For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms
docker-compose.yml
docker-compose.yml
1services: 2 caprover: 3 image: caprover/caprover:latest4 container_name: caprover5 environment: 6 - CAPTAIN_IS_DEBUG=07 - MAIN_NODE_IP_ADDRESS=${SERVER_IP}8 volumes: 9 - /var/run/docker.sock:/var/run/docker.sock10 - caprover-data:/captain11 ports: 12 - "80:80"13 - "443:443"14 - "3000:3000"15 networks: 16 - caprover-network17 restart: unless-stopped1819volumes: 20 caprover-data: 2122networks: 23 caprover-network: 24 driver: bridge.env Template
.env
1# CapRover2SERVER_IP=your_server_ip34# Initial captain password: captain425# Change immediately after first loginUsage Notes
- 1Dashboard at http://captain.your-domain:3000
- 2Default password: captain42
- 3One-click app deployment
- 4Automatic SSL certificates
- 5Use CLI: npm i -g caprover
Quick Start
terminal
1# 1. Create the compose file2cat > docker-compose.yml << 'EOF'3services:4 caprover:5 image: caprover/caprover:latest6 container_name: caprover7 environment:8 - CAPTAIN_IS_DEBUG=09 - MAIN_NODE_IP_ADDRESS=${SERVER_IP}10 volumes:11 - /var/run/docker.sock:/var/run/docker.sock12 - caprover-data:/captain13 ports:14 - "80:80"15 - "443:443"16 - "3000:3000"17 networks:18 - caprover-network19 restart: unless-stopped2021volumes:22 caprover-data:2324networks:25 caprover-network:26 driver: bridge27EOF2829# 2. Create the .env file30cat > .env << 'EOF'31# CapRover32SERVER_IP=your_server_ip3334# Initial captain password: captain4235# Change immediately after first login36EOF3738# 3. Start the services39docker compose up -d4041# 4. View logs42docker compose logs -fOne-Liner
Run this command to download and set up the recipe in one step:
terminal
1curl -fsSL https://docker.recipes/api/recipes/caprover-paas/run | bashTroubleshooting
- CapRover dashboard shows 'Cannot connect to Docker daemon': Ensure Docker service is running and user has Docker group permissions
- SSL certificate generation fails: Verify domain DNS points to server IP and ports 80/443 are not blocked by firewall
- Application deployment stuck at 'Building': Check Docker daemon has sufficient disk space and memory for image builds
- Captain.domain:3000 not accessible: Confirm SERVER_IP environment variable matches actual server IP and port 3000 is open
- One-click apps fail to install: Verify Docker Hub connectivity and check CapRover logs for registry authentication issues
- NGINX proxy errors after domain changes: Restart CapRover container to reload NGINX configuration with updated domain mappings
Community Notes
Loading...
Loading notes...
Download Recipe Kit
Get all files in a ready-to-deploy package
Includes docker-compose.yml, .env template, README, and license
Components
caprovernginxcertbot
Tags
#paas#deployment#caprover#docker#self-hosted
Category
DevOps & CI/CDAd Space
Shortcuts: C CopyF FavoriteD Download