Встановлення з Docker
Обидва способи запускають той самий docker-compose.yml. Інсталятор також генерує справжні секрети й перевіряє конфігурацію, перш ніж щось запустити, тож користуйтеся ним, якщо немає причин робити інакше.
-
Запустіть інсталятор
Terminal window curl -fsSL https://railhook.io/install.sh | bashВін перевіряє Docker, Compose, пам’ять, диск і порт. Потім записує
~/railhook:docker-compose.yml, закріплений на останньому релізі,.envзі згенерованими секретами та допоміжний скриптrailhook. Наостанок запускає стек і чекає, доки API відповість. Перший запуск виконує міграції бази даних і створює топіки Kafka, тож може тривати кілька хвилин. -
Відкрийте панель керування
Перейдіть на
http://localhost(абоhttp://<server-ip>; додайте:<port>, якщо встановлювали з--port) і зареєструйтеся. Поки поштовий сервер не налаштовано, обліковий запис активний одразу. -
Збережіть резервну копію
.envWEBHOOK_ENCRYPTION_KEYіWEBHOOK_ENCRYPTION_SALTіз цього файлу шифрують кожен секрет ендпоінта в базі даних. Резервна копія бази, відновлена без цього файлу, дасть рядки, які ніщо не зможе прочитати.
Параметри інсталятора
Section titled “Параметри інсталятора”Передавайте параметри через конвеєр за допомогою bash -s --:
curl -fsSL https://railhook.io/install.sh | bash -s -- --dir /opt/railhook --port 8080| Параметр | Дія |
|---|---|
--dir <path> |
Куди встановити. Типово ~/railhook |
--version <tag> |
Реліз, на якому закріпитися, v2.12.0 або новіший. Типово — останній |
--port <port> |
Єдиний опублікований порт. Типово 80, або 8080 з --behind-proxy |
--domain <host> |
Обслуговувати на цьому домені через HTTPS. Див. Домен і HTTPS |
--behind-proxy |
Разом із --domain: TLS завершує ваш власний зворотний проксі, а панель слухає для нього на 127.0.0.1 |
--email <address> |
Куди Let’s Encrypt надсилатиме попередження про закінчення терміну сертифіката |
--no-start |
Записати файли й нічого не запускати |
--yes |
Не питати перед використанням непорожнього каталогу |
--check |
Лише запустити перевірки системи та конфігурації |
--uninstall |
Зупинити стек і видалити контейнери. Томи з даними лишаються |
--purge |
Видалити встановлення разом із томами даних |
Щоденні команди
Section titled “Щоденні команди”Запускайте з каталогу встановлення:
| Команда | Що робить |
|---|---|
./railhook status |
Показує контейнери та їхній стан |
./railhook logs [service] |
Стежить за журналами, наприклад ./railhook logs api |
./railhook start / stop / restart |
Запускає, зупиняє або перезапускає стек |
./railhook upgrade [version] |
Робить резервну копію, потім оновлює. Див. Оновлення й резервні копії |
./railhook backup |
Записує дамп бази даних у каталог |
./railhook doctor |
Повторно запускає всі перевірки на файлах із диска |
Будь-який інший аргумент передається просто в Docker Compose, тож ./railhook ps чи ./railhook up -d працюють, як очікується.
-
Завантажте файл Compose і каталог налаштувань
Terminal window mkdir railhook && cd railhookcurl -fsSLO https://raw.githubusercontent.com/vadymkykalo/railhook/main/docker-compose.ymlcurl -fsSL https://raw.githubusercontent.com/vadymkykalo/railhook/main/.env.dist -o .env -
Замініть публічні секрети
Значення в
.env.distпублічні. Згенеруйте власні для кожного з них:.env WEBHOOK_ENCRYPTION_KEY= # openssl rand -base64 32WEBHOOK_ENCRYPTION_SALT= # openssl rand -base64 16JWT_SECRET= # openssl rand -base64 48POSTGRES_PASSWORD= # must equal DB_PASSWORDDB_PASSWORD=REDIS_PASSWORD=Задайте в
APP_BASE_URLіCORS_ALLOWED_ORIGINSадресу, яку відкриватимуть користувачі.RAILHOOK_PORTу цьому файлі —8080. -
Запустіть із вбудованою базою даних
Terminal window COMPOSE_PROFILES=embedded-db docker compose up -d -
Перевірте
Terminal window curl -f http://localhost:8080/actuator/health/livenesscurl -o /dev/null -w '%{http_code}\n' http://localhost:8080/api/v1/projects # expect 401