CapRover — бесплатная open-source PaaS-платформа для самостоятельного хостинга приложений на VPS. Абстрагирует деплой: загружаешь исходный код или Docker-образ — CapRover сам разворачивает приложение, настраивает Nginx как reverse proxy и выпускает SSL-сертификат через Let's Encrypt. Аналог Heroku, но self-hosted. Работает поверх Docker Swarm.
Как работает CapRover
CapRover развёртывается на одном VPS командой: docker run -p 80:80 -p 443:443 -p 3000:3000 -v /var/run/docker.sock:/var/run/docker.sock caprover/caprover. Dashboard доступен на порту 3000. Для деплоя приложения: создать App в UI, добавить captain-definition файл в репозиторий, запустить caprover deploy. CapRover автоматически: сборка Docker-образа → создание Docker Swarm service → настройка Nginx vhost → выпуск SSL.
Ключевые возможности
- One-Click Apps: каталог из 100+ готовых приложений (WordPress, MongoDB, PostgreSQL, Redis, Nextcloud) — установка за 2 минуты
- Масштабирование: горизонтальное через Docker Swarm — несколько реплик одной кнопкой
- Webhooks / GitHub Actions: CI/CD деплой при push в репозиторий
- Multi-node cluster: добавление воркер-нод в Swarm-кластер через панель
- Persistent storage: тома Docker для баз данных и загрузок
История
CapRover создан разработчиком под псевдонимом AkhIL в 2017 году. В 2018 году опубликован с открытым кодом под MIT-лицензией. К 2024 году GitHub-репозиторий набрал более 12 000 звёзд. Используется как self-hosted замена Heroku, Render или Railway — после резонансного прекращения бесплатного плана Heroku в ноябре 2022 года интерес к CapRover резко вырос.
CapRover vs Coolify vs Dokku
| Параметр | CapRover | Coolify | Dokku |
|---|---|---|---|
| Кластеризация | Docker Swarm | Docker / Kubernetes | Одна машина |
| One-Click Apps | 100+ | 100+ | Плагины |
| Dashboard | Да | Да | CLI only |
| Год выпуска | 2017 | 2021 | 2012 |
На что обращать внимание
Минимальные требования для CapRover: 1 ГБ RAM (рекомендуется 2+ ГБ), Ubuntu/Debian, Docker 17.06+. Wildcard-домен для приложений: *.apps.yourdomain.com — направь DNS-запись на VPS. Безопасность: порт 3000 Dashboard нужно закрыть файрволом и открывать только через VPN или SSH-туннель. CapRover хорошо сочетается с GitHub Actions: caprover deploy в CI-шаге автоматизирует весь pipeline от push до продакшн.
Как CapRover разворачивает приложения
CapRover использует Docker и Docker Swarm под капотом. Каждое приложение работает как Docker-контейнер; CapRover управляет образами, сетями и томами. При деплое через веб-интерфейс или CLI пользователь указывает образ из Docker Hub или приватного реестра — CapRover скачивает образ, запускает контейнер и прописывает маршрутизацию через встроенный Nginx.
Для деплоя из исходного кода CapRover поддерживает captain-definition файл — аналог Dockerfile-конфигурации. CLI-команда caprover deploy архивирует директорию проекта, отправляет на сервер, собирает образ и перезапускает контейнер. Весь цикл занимает 1-3 минуты для типичного Node.js или Python-приложения.
One-Click Apps и масштабирование
CapRover включает каталог из более чем 100 готовых приложений: WordPress, Ghost, Mattermost, Nextcloud, Redis, PostgreSQL, MongoDB, Metabase и др. Установка любого из них — одна кнопка в интерфейсе. Параметры (пароли, версии) задаются в форме перед деплоем.
Горизонтальное масштабирование доступно через Docker Swarm: CapRover позволяет добавить рабочие узлы (worker nodes) и распределить нагрузку. Для каждого приложения задаётся число реплик. Балансировка нагрузки между репликами выполняется автоматически.
SSL и домены
CapRover автоматически выпускает SSL-сертификаты через Let's Encrypt для каждого домена. Wildcard-субдомены поддерживаются через DNS-challenge. По умолчанию каждое приложение получает субдомен вида app-name.server-domain.com — это позволяет запустить десятки сервисов на одном IP без ручной правки конфигов Nginx.
CapRover vs Coolify vs Dokku
| Платформа | Docker Swarm | Web UI | One-click apps | Multi-node |
|---|---|---|---|---|
| CapRover | Да | Да | 100+ | Да |
| Coolify | Нет (Docker Compose) | Да | Да | v4+ |
| Dokku | Нет | Нет (CLI) | Плагины | Нет |
На что обращать внимание
CapRover требует минимум 1 ГБ ОЗУ, рекомендовано 2 ГБ. Проект с открытым кодом на GitHub, последнее обновление — регулярные релизы. Поддержка Kubernetes не предусмотрена; для оркестрации на уровне Kubernetes следует рассмотреть Kubernetes или Nomad. CapRover закрывает нишу «Heroku на своём сервере» — простой деплой без сложности Kubernetes.