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