Установка Keycloak на свой сервер: термины и чек-лист

Подробности, цифры, термины и чек-лист по теме «Установка Keycloak на свой сервер». Страница справочника целиком: Установка Keycloak на сервер.

Коротко о теме

Установка Keycloak в Docker Compose: образ quay.io/keycloak/keycloak 26.8, PostgreSQL, hostname за обратным прокси, первый realm, копии базы и обновление.

Подробности по разделам

Что делает Keycloak и когда без него можно обойтись

Для одного пользователя и пары приложений хватит их собственных паролей и менеджера Vaultwarden. Если нужен другой сервер единого входа со своими потоками входа и современным интерфейсом, посмотрите Authentik.

HTTPS и hostname для Keycloak за обратным прокси

KC_HOSTNAME с полным адресом вместе со схемой https говорит Keycloak, какие ссылки отдавать клиентам. KC_PROXY_HEADERS заставляет доверять заголовкам X-Forwarded от вашего прокси. Если пропустить вторую, вход через приложения может сломаться на этапе перенаправления, а в журнале будут жалобы на неверный redirect URI.

Копии базы и обновление Keycloak без потери пользователей

Обновляйте по одной версии и после дампа Keycloak при первом запуске новой версии сам меняет схему базы, и откат на прежний образ после этого не всегда возможен. Прочитайте руководство по обновлению для вашей и целевой версии, сделайте дамп и только тогда меняйте тег образа.

Ключевые цифры

Термины на странице

PostgreSQL
PostgreSQL это база данных для приложений с большими объёмами и сложными запросами.
Nextcloud
Nextcloud это облачное хранилище файлов, которое ставят на свой сервер.
n8n
n8n это программа для автоматизации: связывает сервисы сценариями без программирования.
Apache
Apache это веб-сервер. На хостинге с ним работают файлы .htaccess.
Certbot
Certbot это программа, которая получает и продлевает сертификаты Let's Encrypt на сервере.
Nginx
Nginx это веб-сервер и обратный прокси. Его часто ставят перед приложением, чтобы раздавать статику и держать HTTPS.
S3
S3 это объектное хранилище файлов с доступом по API, совместимому с Amazon S3.
Self-hosted
Self-hosted значит, что программа работает на вашем сервере, а данные остаются у вас.

Что проверить

  1. Выберите конфигурацию по памяти и диску под задачу, процессор обычно вторичен.
  2. Проверьте тип виртуализации: KVM даёт свою систему и гарантированные ресурсы.
  3. Уточните, входит ли IPv4 и сколько стоит трафик сверх пакета.
  4. Храните данные контейнеров в томах.
  5. Закрепляйте версии образов, а не latest.
  6. Ограничьте ресурсы контейнеров, чтобы один не съел весь сервер.

Связанные страницы