Огляд власного розгортання
Railhook має відкритий код під ліцензією MIT. Інстанс на вашому сервері отримує всі функції, без ліцензійного ключа й заблокованих модулів. Цей розділ описує, як запустити його на власній інфраструктурі. Якщо не хочете обслуговувати його самі, Railhook Cloud запускає той самий продукт за вас.
Що запускається
Section titled “Що запускається”| Сервіс | Роль |
|---|---|
ui |
nginx. Віддає панель керування й проксує шляхи API, ingress і тунелів. Єдиний сервіс, опублікований на хості |
api |
Приймає події та вхідні вебхуки, обслуговує REST API. Під час запуску виконує міграції бази даних |
worker |
Виконує спроби: підписує, надсилає, повторює |
postgres |
Основне сховище даних |
kafka |
Передає роботу від API до воркера. kafka-init створює топіки під час першого запуску |
redis |
Ліміти частоти, дозволи на паралельність, стан запобіжника |
caddy |
Необов’язковий. Завершує HTTPS, коли встановлюєте з доменом |
db-backup |
Необов’язковий. Робить дамп бази даних за розкладом |
Усе проходить через один порт: панель, API, ingress-адреси та тунель CLI. Postgres, Kafka, Redis і сам API доступні лише всередині мережі Docker. Тобто одна адреса для користувачів, один сертифікат і одне правило брандмауера.
Способи розгортання
Section titled “Способи розгортання”| Спосіб | Коли використовувати |
|---|---|
| Інсталятор | Типовий. Одна команда на Linux-хості з Docker. Генерує секрети й лишає звичайне розгортання Compose |
| Docker Compose вручну | Ви керуєте файлами власними засобами конфігурації |
| Kubernetes з Helm | Ви вже маєте Kubernetes і власні PostgreSQL, Kafka та Redis |
| З клону репозиторію | Ви розробляєте сам Railhook |
Що далі
Section titled “Що далі”ВимогиПам'ять, диск, порти й мережевий доступ.
Встановлення з DockerІнсталятор в один рядок і те, що він лишає після себе.
Домен і HTTPSРозмістіть інстанс на домені із сертифікатом.