Openship - открытая платформа-как-сервис (PaaS) для своего сервера, self-hosted аналог Vercel и Heroku. Вы подключаете сервер, а дальше публикуете приложения из Git: платформа сама собирает образ, поднимает контейнер, вешает ваш домен и выпускает Let's Encrypt. Тот же сценарий «запушил - задеплоилось», но без оплаты за место и без передачи кода стороннему облаку - код и данные остаются на вашем сервере, а цена фиксированная за VM. Управление через дашборд: проекты, деплои, домены, бэкапы и логи в одном месте.

Карта поднимает весь стек Openship (Docker Compose) на вашей VM, заводит администратора и сразу отдает дашборд по валидному HTTPS на magic-DNS адресе сервера. Первый вход - системным паролем сервера, дальше подключаете сервер деплоя и публикуете приложения. Для облачной работы уже включен нужный режим авторизации и TLS-надстройка - клиенту не нужно ничего доводить руками.

Что внутри

  • openship-api + openship-dashboard - ядро платформы (Node.js) и веб-дашборд (Next.js) на 127.0.0.1:3001.
  • openship-postgres + openship-redis - состояние платформы, очереди и кеш.
  • openship-edge (OpenResty) - ingress и Let's Encrypt для доменов ваших приложений.
  • Caddy - reverse-proxy и авто-TLS (Let's Encrypt) перед дашбордом на magic-DNS адресе.

Как начать

  1. Адрес формируется из IP сервера: замените точки на дефисы и добавьте .fatmetal.net. Пример: IP 45.15.159.10 -> https://45-15-159-10.fatmetal.net/.
  2. Вход в дашборд: логин admin@<адрес> (тот же домен), пароль - пароль вашего сервера (тот же, что для SSH). Логин и пароль продублированы в /root/openship-credentials.txt и в MOTD.
  3. В дашборде смените пароль в Settings, подключите сервер деплоя и публикуйте приложения (Projects -> New).

Свой домен

Для приложения: наведите домен A-записью на IP сервера и добавьте его в дашборде - Openship сам выпустит Let's Encrypt через встроенный edge. Для самого дашборда: CNAME на magic-DNS адрес, пропишите DOMAIN=ваш-домен в /etc/openship-mp/params.env и перезапустите bash /opt/openship-mp/install.sh. Полная памятка - на сервере: cat /root/openship-credentials.txt.

Требования

Ubuntu 24.04, открытые порты 80/443. Минимум CPU2-RAM4-DISK50: сам control-plane в простое занимает меньше гигабайта RAM, но сборка ваших приложений идет на этом же сервере и в пике ест больше - под реальные билды закладывайте запас. Первая установка занимает около 13 минут (тянутся образы, из РФ-сети базовые образы докачиваются с ретраями).

Подробный разбор с замерами