Добавить в корзинуПозвонить
Найти в Дзене

ONCE: самохостинг Docker-приложений одной командой от Basecamp

Разворачивает веб-сервис с SSL и бэкапами за 5 минут вместо дня настроек.
Поднять собственный сервис - это docker-compose, nginx, certbot, cron для бэкапов и молитва, чтобы всё не сломалось после обновления. Basecamp выпустили ONCE - платформу, которая берёт на себя всю инфраструктурную рутину. Одна команда устанавливает приложение с автоматическими обновлениями, SSL-сертификатами и системой
Оглавление

Самохостинг Docker-приложений одной командой
Самохостинг Docker-приложений одной командой

Разворачивает веб-сервис с SSL и бэкапами за 5 минут вместо дня настроек.

Поднять собственный сервис - это docker-compose, nginx, certbot, cron для бэкапов и молитва, чтобы всё не сломалось после обновления. Basecamp выпустили ONCE - платформу, которая берёт на себя всю инфраструктурную рутину. Одна команда устанавливает приложение с автоматическими обновлениями, SSL-сертификатами и системой бэкапов.

Что умеет и для кого

ONCE автоматизирует развёртывание Docker-приложений на любом Linux или macOS - от Raspberry Pi до облачного VPS. Платформа поставляется с TUI-дашбордом для мониторинга и CLI для автоматизации. В комплекте идут приложения 37signals: Writebook, Basecamp, Hey. Но можно установить любой совместимый Docker-образ.

Подходит системным администраторам и разработчикам, которые хотят контролировать данные, но устали возиться с инфраструктурой. НЕ подходит новичкам без опыта работы с DNS и командной строкой - базовые знания сетевых настроек обязательны.

Установка и первый запуск

Развёртывание начинается с одной команды:

curl https://get.once.com | sh

Скрипт скачивает бинарник для вашей платформы, устанавливает фоновый сервис и запускает интерактивную настройку. Если Docker отсутствует - доустановит автоматически на поддерживаемых системах.

При первом запуске ONCE предложит выбрать приложение из встроенного каталога или указать путь к Docker-образу. Затем потребуется ввести hostname - поддомен вашего домена, куда будет установлено приложение. DNS-запись должна быть настроена заранее и указывать на IP сервера.

После ввода данных платформа автоматически скачивает образ, настраивает SSL через Let's Encrypt, создаёт volume для данных и запускает приложение. Весь процесс занимает 3-5 минут.

TUI-дашборд и управление

Интерфейс ONCE - это терминальное приложение с навигацией по клавишам. Главный экран показывает список установленных приложений, их статус, использование ресурсов и время последнего обновления. Клавиша s открывает настройки выбранного приложения, a - меню действий для запуска, остановки или удаления.

В настройках можно изменить hostname, переключиться на собственный форк образа, настроить автоматические бэкапы в облачное хранилище, указать SMTP для отправки почты. Все изменения применяются без перезапуска платформы.

CLI-команды дублируют функции TUI и подходят для автоматизации через скрипты. Команда once list показывает приложения, once backup app-name создаёт резервную копию, once update обновляет все сервисы до актуальных версий.

Требования к совместимости

ONCE работает не с любым Docker-образом. Приложение должно соответствовать спецификации: служить HTTP на порту 80, отвечать на healthcheck по адресу /up и хранить постоянные данные в каталоге /storage. Rails-приложения с стандартным Dockerfile поддерживаются из коробки.

Платформа монтирует постоянный volume в /storage и дублирует его в /rails/storage для совместимости с Rails. Данные из этого каталога попадают в бэкапы и сохраняются при обновлениях.

Для глубокой интеграции приложения могут использовать hook-скрипты: /hooks/pre-backup для подготовки данных перед резервным копированием и /hooks/post-restore для очистки после восстановления. Без хуков ONCE приостанавливает контейнер на время бэкапа, что гарантирует консистентность данных.

Раздражающий минус

Экосистема совместимых приложений пока узкая. Большинство популярных Docker-образов требуют доработки под спецификацию ONCE - изменение порта, добавление healthcheck, перенос данных в /storage. Это не критично для Rails-разработчиков, но ограничивает выбор готовых решений.

Документация по адаптации существующих приложений минимальна. Приходится изучать исходники встроенных образов, чтобы понять, как правильно подготовить собственное приложение.

Сравнение с Coolify

Coolify - более зрелая альтернатива с веб-интерфейсом и поддержкой популярных приложений из коробки. Работает с GitHub, GitLab, поддерживает множественные базы данных, имеет marketplace готовых шаблонов. Но требует больше ресурсов и сложнее в настройке.

ONCE проще и легче - весь интерфейс помещается в терминал, бинарник весит мегабайты вместо гигабайт Docker-образов Coolify. TUI удобнее для работы через SSH и автоматизации. Но функциональность уже - фокус на простоте, а не на универсальности.

Если нужно быстро поднять Rails-приложение или сервис 37signals - ONCE оптимален. Для сложных проектов с микросервисами и CI/CD - Coolify функциональнее.

Экономика против облачных платформ

VPS за $5-10 в месяц против Heroku за $50+ за аналогичные ресурсы. ONCE превращает дешёвый сервер в полноценную платформу развёртывания с автоматизацией уровня enterprise-решений. Экономия очевидна при работе с несколькими проектами.

Но есть нюанс: время на изучение и настройку. Heroku работает из коробки, ONCE требует базовых знаний серверного администрирования. Если время дороже денег - облачные платформы выигрывают.

ONCE - инструмент для тех, кто ценит контроль над инфраструктурой и готов потратить час на изучение вместо сотен долларов в год на подписки. Basecamp создали платформу для собственных нужд и поделились с сообществом - это чувствуется в продуманности архитектуры.

Пробовали разворачивать приложения через ONCE или предпочитаете классический docker-compose?

Источник: ONCE

🔔 Подписывайтесь на КликХак - тестируем инструменты для цифровой независимости, чтобы вы не зависели от корпоративных подписок