Разворачивает веб-сервис с 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
🔔 Подписывайтесь на КликХак - тестируем инструменты для цифровой независимости, чтобы вы не зависели от корпоративных подписок