Coolify на VPS: свой Heroku для деплоя приложений из Git

Установка Coolify одной командой, защита первого входа, сохранение секретов, порты в UFW, домен с HTTPS для панели и деплой приложения из публичного репозитория. Ubuntu 24.04 и Debian 12.

16 октября 2026 г.·4 мин чтения·coolify, docker, paas, self-hosted

Coolify — открытая self-hosted платформа в духе Heroku, Netlify или Vercel, только на вашем сервере. Указываете Git-репозиторий, Coolify собирает образ Docker, запускает контейнер, вешает на него домен и получает сертификат HTTPS. Там же в пару кликов создаются PostgreSQL, MySQL, Redis и десятки готовых сервисов. Ниже — установка на чистый VPS, защита первого входа и деплой приложения из публичного репозитория.

Что нужно

  • Сервер на tanaka.host с Ubuntu 24.04 (Debian 12 и другие LTS тоже подходят). Минимум для самого Coolify — 2 ядра, 2 ГБ памяти и 10 ГБ диска, но приложения собираются и работают на том же сервере: сборка через Nixpacks или Dockerfile на несколько минут съедает много процессора и памяти, а каждое приложение и база добавляют свой контейнер. Для комфортной работы берите 4 ядра и 8 ГБ.
  • Доступ по SSH под root — см. подключение по SSH.
  • Домен для панели и приложений с доступом к DNS.

1. Подключитесь и обновите систему

ssh root@YOUR_SERVER_IP
apt update && apt upgrade -y

Сервер должен быть чистым: Coolify управляет Docker и собственным reverse proxy, поэтому ничто другое не должно занимать порты 80 и 443.

2. Запустите установщик

curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash

Скрипт поставит Docker, если его нет, скачает контейнеры Coolify и запустит их. Через несколько минут он напечатает адрес панели.

Docker из snap не поддерживается. Если Docker стоял через snap, удалите его перед запуском или дайте скрипту установить свой — см. удаление Docker.

3. Сразу создайте аккаунт администратора

Откройте в браузере:

http://YOUR_SERVER_IP:8000

Первый, кто зарегистрируется, становится администратором с root-уровнем контроля над сервером. Не оставляйте страницу «на потом» — заполните её немедленно.

Дальше короткий онбординг. На вопрос, где разворачивать приложения, выберите сервер, на котором работает сам Coolify, — он добавлен автоматически как localhost.

4. Сохраните секреты установки

Coolify держит свои ключи, включая APP_KEY, в /data/coolify/source/.env. Без этого файла восстановить панель на другом сервере не получится. Скопируйте его к себе:

scp root@YOUR_SERVER_IP:/data/coolify/source/.env ./coolify.env

И положите в менеджер паролей.

5. Откройте порты

На свежем образе UFW выключен. Если включаете, сначала разрешите нужное:

Порт Назначение
22/tcp SSH
80/tcp HTTP и выпуск сертификатов через прокси Coolify
443/tcp HTTPS через прокси Coolify
8000/tcp панель по IP-адресу
6001/tcp обновления панели в реальном времени по IP
6002/tcp веб-терминал по IP
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 8000/tcp
ufw allow 6001/tcp
ufw allow 6002/tcp
ufw enable

Никогда не удаляйте правило для SSH — иначе останетесь снаружи. И помните: порты, опубликованные контейнерами Docker, идут в обход UFW, брандмауэр не спрячет то, что вы сами выставили. Подробнее — UFW и firewalld.

6. Домен для панели

Работать по IP и порту 8000 без шифрования допустимо первые минуты, дальше панели нужен свой домен.

  1. В DNS создайте A-запись, например coolify → YOUR_SERVER_IP.
  2. Дождитесь, пока она разойдётся: dig coolify.example.com.
  3. В Coolify откройте Settings и впишите https://coolify.example.com как instance domain. Сохраните.
  4. Откройте новый адрес — прокси Coolify сам получит сертификат Let’s Encrypt.

Когда панель работает по домену, порты 8000, 6001 и 6002 снаружи больше не нужны:

ufw delete allow 8000/tcp
ufw delete allow 6001/tcp
ufw delete allow 6002/tcp

7. Деплой приложения из Git

Подойдёт любой публичный репозиторий с веб-приложением — Node.js, Python или статический сайт.

  1. Projects → выберите проект (или создайте) и окружение → + New.
  2. Public Repository, вставьте HTTPS-адрес репозитория, Check Repository.
  3. Выберите ветку и Build Pack: Nixpacks сам определит язык и фреймворк; Dockerfile — если он есть в репозитории; Docker Compose — для многоконтейнерных проектов.
  4. Для серверного приложения укажите внутренний порт, который оно слушает, например 3000. Для статического сайта включите static-режим и укажите папку публикации.
  5. На странице приложения в Configuration добавьте переменные окружения, если нужны.
  6. В поле Domains впишите https://app.example.com и создайте A-запись app на тот же IP.
  7. Deploy — и следите за логом сборки.

Когда деплой закончится, откройте https://app.example.com: сертификат выпущен, трафик идёт в контейнер. Для приватных репозиториев сначала подключите GitHub или другой Git-провайдер в Sources.

Что делать дальше

Обновления. Coolify показывает доступные версии в панели и ставит их оттуда же.

Диск. Каждая сборка оставляет образы и кеш. Следите за местом (df -h) и включите в настройках сервера автоочистку.

Базы данных. PostgreSQL, MySQL, Redis и другие создаются в несколько кликов. Для каждой настройте расписание резервных копий в её настройках, лучше в S3-совместимое хранилище — локальный бэкап пропадёт вместе с сервером. Общий подход — в статье про резервные копии VPS.

Почта. Исходящие SMTP-порты у многих хостеров закрыты по умолчанию, поэтому приложения должны отправлять письма через HTTPS-API: Postmark, Resend, Amazon SES.

Доступность. Повесьте проверки на панель и приложения в Uptime Kuma — его тоже можно развернуть прямо из каталога сервисов Coolify.

Если из всей платформы нужна только автоматизация, проще поставить n8n за Caddy — он легче и не требует 4 ядер. Документация Coolify: https://coolify.io/docs.