Вирішення проблем
У каталозі встановлення:
./railhook doctor # machine and configuration checks./railhook status # containers and their health./railhook logs api # or worker, ui, postgres, redisВстановлення
Section titled “Встановлення”| Симптом | Причина | Виправлення |
|---|---|---|
Port 80 is already in use |
Порт зайнятий іншим сервісом | Зупиніть його або встановіть із --port 8080. З --domain мають бути вільні і 80, і 443. Якщо їх тримає ваш власний зворотний проксі, додайте --behind-proxy |
Docker is installed but the daemon is not reachable |
Демон зупинено або ваш користувач не в групі docker |
Запустіть Docker або виконайте sudo usermod -aG docker $USER && newgrp docker |
| Інсталятор зупиняється через RAM | Менше ніж 2 ГіБ пам’яті | Потрібен більший хост. Комфортно близько 4 ГіБ |
Could not reach the GitHub API |
Немає доступу до api.github.com |
Вкажіть реліз явно: --version v2.16.6 |
exists and is not empty |
У цільовому каталозі є інші файли | Вкажіть інший каталог через --dir або продовжте з --yes |
It did not come up within 10 minutes |
Один із сервісів не зміг запуститися під час першого старту | ./railhook logs покаже, який саме |
Запуск
Section titled “Запуск”| Симптом | Причина | Виправлення |
|---|---|---|
| API не може автентифікуватися в базі даних | POSTGRES_PASSWORD і DB_PASSWORD різні |
Зробіть їх однаковими. doctor виявляє цю проблему |
| Стек запускається, але не бачить бази даних | Не задано ні COMPOSE_PROFILES=embedded-db, ні DB_HOST |
Увімкніть профіль або спрямуйте DB_HOST на свою базу |
| API одразу завершує роботу в продакшні | Небезпечна конфігурація: секрет-заглушка, WEBHOOK_ALLOW_PRIVATE_IPS=true, SWAGGER_ENABLED=true або localhost у CORS_ALLOWED_ORIGINS |
Виправте те, що вказано в лозі. doctor перевіряє всі чотири пункти |
Використання
Section titled “Використання”| Симптом | Причина | Виправлення |
|---|---|---|
| Вхід завершується помилкою «Invalid CORS request» | URL, відкритого в браузері, немає в CORS_ALLOWED_ORIGINS |
Додайте його й виконайте ./railhook up -d |
Посилання в листах ведуть на localhost |
APP_BASE_URL не змінено |
Задайте в ній публічний URL |
Ingress-адреси джерел або адреси тунелів показують localhost |
APP_BASE_URL (або TUNNEL_INGRESS_BASE_URL) досі вказує на localhost |
Задайте публічний URL у .env, потім виконайте ./railhook start |
| Доставки на внутрішній сервіс не проходять | Приватні та внутрішні адреси типово заблоковано | Додайте назву хоста до WEBHOOK_ALLOWED_HOSTS |
| «Too many failed sign-in attempts» | Після повторних невдалих спроб обліковий запис заблоковано | Зачекайте (60 секунд, щоразу вдвічі довше, до 15 хвилин) або скиньте пароль, що одразу знімає блокування |
502 близько 20 секунд під час оновлення |
Контейнер API замінюється новим | Задайте API_REPLICAS=2 |
docker logs webhook-api нічого не знаходить |
Починаючи з 2.16.0, API не має фіксованої назви контейнера | Використовуйте docker compose logs api |
Досі не працює
Section titled “Досі не працює”Створіть issue на github.com/vadymkykalo/railhook/issues з виводом ./railhook doctor і відповідними рядками логів, без секретів.