Self-Hosting Coolify: Полное руководство по альтернативе Heroku на своем сервере
Научитесь self-hosting Coolify — мощного PaaS для развертывания приложений. Установка, настройка и деплой полного стека на собственном VPS. Полный контроль и никаких подписок.
Подключение к VPS и обновление системы
Подключитесь к вашему серверу по SSH и выполните базовое обновление пакетов для обеспечения безопасности и стабильности.
ssh root@your_vps_ip
sudo apt update && sudo apt upgrade -yУстановка Docker
Coolify работает поверх Docker, поэтому необходимо установить движок контейнеров. Используем официальный скрипт установки.
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
newgrp dockerУстановка Coolify
Запустите официальный скрипт установки, который автоматически скачает и запустит контейнеры Coolify (веб-интерфейс и агенты).
curl -sSL https://get.coollabs.io/coolify/install.sh | bashПервоначальная настройка в веб-интерфейсе
Откройте http://your_vps_ip:8000 в браузере. Создайте администраторский аккаунт, затем добавьте ваш сервер в панели управления (Settings -> Servers). Скопируйте публичный SSH-ключ в ~/.ssh/authorized_keys на VPS для связи.
Пример деплоя приложения (Node.js)
В интерфейсе Coolify создайте новый проект (New Project -> Application). Укажите ссылку на Git-репозиторий. Coolify автоматически определит стек и предложит команды сборки. Нажмите 'Deploy' для запуска.
Repository: https://github.com/user/example-node-app.git
Build Command: npm install
Start Command: npm startБонус: Настройка обратного прокси (Traefik) для Wildcard SSL
Для продакшена создайте сеть и запустите Traefik для автоматического получения SSL сертификатов и проксирования трафика. Используйте DNS-чалленж (например, Cloudflare) для Wildcard сертификатов.
docker network create web
# Создайте файлы traefik.yml и acme.json, затем:
docker run -d -p 80:80 -p 443:443 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ./traefik.yml:/traefik.yml \
-v ./acme.json:/acme.json \
--network web \
traefik:v2.10