Данная статья предназначена для тех, кто искал подробное и понятное руководство о том, как установить Keycloak с Docker Compose.

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

В этом руководстве мы будем рассматривать тот случай, когда у вас уже есть сервер с установленной на нем операционной системой Ubuntu Server 20.04 LTS.

Подробно о том, как установить Ubuntu Server 20.04 LTS, вы можете прочитать в моем руководстве “Установка Ubuntu Server 20.04 LTS”.

Также на сервере должен быть установлен Docker Engine и Docker Compose.

Узнать о том, как установить Docker Engine на Ubuntu Server, вы можете, прочитав “Установка Docker Engine и Docker Compose на Ubuntu Server”.

Кроме того, на сервер должен быть установлен OpenSSH, а также открыт 22 порт, чтобы иметь возможность подключаться к серверу по протоколу SSH.

Для установки OpenSSH на сервер вы можете воспользоваться командой:

sudo apt install openssh-server

Если вы планируете подключиться к серверу, используя операционную систему Windows, то можете воспользоваться PuTTY или MobaXterm.

В данном руководстве рассматривается подключение к серверу при помощи терминального эмулятора iTerm2, установленного на операционную систему macOS.

Обратите внимание, вам потребуется открыть следующие порты TCP для доступа к вашему серверу:

  • TCP порт 80 - для получения бесплатного криптографического сертификата через центр сертификации Let’s Encrypt.
  • TCP порт 443 - для доступа к веб-интерфейсу Keycloak.

Подключаемся к серверу, на который планируется установить Keycloak.

Теперь нужно создать конфигурационный файл YAML, который будет содержать все необходимые условия для работы Keycloak.

Создадим конфигурационный файл YAML, воспользовавшись текстовым редактором, с помощью команды:

vim keycloak-traefik-letsencrypt-docker-compose.yml

Установка Keycloak с Docker Compose

Нажимаем на кнопку “i”, чтобы перейти в режим редактирования, затем вставляем следующую конфигурацию для работы Keycloak.

Установка Keycloak с Docker Compose

Далее вам необходимо внести изменения в конфигурацию, чтобы содержимое файла соответствовало вашим условиям. Параметры, которые требуется проверить или в которые нужно внести изменения имеют пометку “(replace with yours)”.

В данном руководстве для доступа к Keycloak из сети Интернет будет использоваться субдомен keycloak.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен, по которому ваш Keycloak будет доступен из сети Интернет.

Обратите внимание, в данном руководстве в качестве системы для управления базами данных будет использоваться PostgreSQL, а в качестве reverse proxy - Traefik.

В параметре “traefik.http.middlewares.authtraefik.basicauth.users” необходимо указать имя пользователя и хэш пароля для доступа к панели управления Traefik.

Обратите внимание, для получения хэша пароля можно воспользоваться данным сервисом.

Теперь нажмите на кнопку “Esc”, чтобы выйти из режима редактирования, а затем введите “:x” и нажмите на кнопку “Enter”, чтобы сохранить изменения и выйти из редактора.

Установка Keycloak с Docker Compose

Теперь запустим Keycloak с помощью команды:

docker compose -f keycloak-traefik-letsencrypt-docker-compose.yml -p keycloak up -d

Установка Keycloak с Docker Compose

С рабочей станции переходим по ссылке https://keycloak.heyvaldemar.net, где keycloak.heyvaldemar.net - имя моего субдомена для доступа к панели управления Keycloak. Вам нужно будет указать ваш домен или субдомен, по которому ваша панель управления Keycloak будет доступна из сети Интернет.

Нажимаем на кнопку “Administration Console”.

Установка Keycloak с Docker Compose

Указываем логин, который вы указали ранее в конфигурационном файле YAML, в переменной “KEYCLOAK_USER”.

Далее указываем пароль, который вы указали ранее в конфигурационном файле YAML, в переменной “KEYCLOAK_PASSWORD”.

Нажимаем на кнопку “Sign In”.

Установка Keycloak с Docker Compose

Добро пожаловать в панель управления Keycloak.

Установка Keycloak с Docker Compose

Для доступа к панели управления Traefik необходимо с рабочей станции перейти по ссылке https://traefik.keycloak.heyvaldemar.net, где traefik.keycloak.heyvaldemar.net — имя моего сервера. Соответственно, вам необходимо указать имя вашего сервера с установленным Traefik.

Указываем имя пользователя и пароль, заданный ранее в конфигурационном файле YAML, и нажимаем на кнопку “OK”.

Установка Keycloak с Docker Compose

Добро пожаловать в панель управления Traefik.

Установка Keycloak с Docker Compose

DevOps комьюнити

Привет 👋
Если у тебя есть вопросы по установке или настройке, то задайте их мне и другим ИТ-экспертам нашего сообщества: