Skip to content

A simple script to install Keycloak in a docker container

Notifications You must be signed in to change notification settings

epmakOFF/keycloak-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Разворачиваем собсственный IdP

Содержание:

Самоподписанный/собственный сертификат

Подготовка

Для ленивых

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

git clone https://github.com/epmakOFF/keycloak-docker.git
cd keycloak-docker

(При наличии)
Подготовить файл сертификата и приватный ключ
(Опционально)
Изменить парамерты доступа к БД, логин администратора и email в файле .env

Запустить скрипт

chmod +x install.sh
sudo ./install.sh

Для упертых

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

git clone https://github.com/epmakOFF/keycloak-docker.git
cd keycloak-docker

Установить Docker

curl -fsSL https://get.docker.com -o get-docker.sh  
sudo sh get-docker.sh

Добавить пользователя в группу docker

sudo usermod -aG docker $USER
sg docker # обновить права на группу, если не получится, перелогиниться

Настройка

Переопределить переменные в файле .env.
Если не задан домен в .env, взять публичный:

export KC_HOSTNAME=$(curl -s 2ip.ru).sslip.io  

Нет сертификата

Для выпуска самоподписанного сертификата выполнить:

mkdir certs
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout certs/nginx-selfsigned.key -out certs/nginx-selfsigned.crt -subj "/C=RU/ST=Moscow/L=Moscow/O=TestOrg/OU=IT/CN=$KC_HOSTNAME/emailAddress=it@$KC_HOSTNAME"

Выполнить запуск:

docker compose up -d

Есть сертификат

Переопределить переменные SSL_CERTIFICATE и SSL_CERTIFICATE_KEY в файле .env, указав путь до сертификата и приватного ключа
Выполнить запуск:

docker compose up -d

Сертификат от Let’s Encrypt

Подготовка

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

git clone https://github.com/epmakOFF/keycloak-docker.git
cd keycloak-docker/v2

Сделать скрипты исполняемыми

chmod +x *.sh

(Опционально)
Изменить парамерты доступа к БД, логин администратора и email в файле .env

Запуск

Выполнить установку, в качестве параметров передать домен и email. Если домен не задан, будет использован ip.sslip.io. Email должен быть определен в .env. Примеры запуска:

sudo ./install.sh  # задан email в .env, в качестве домена используется ip.sslip.io
sudo ./install.sh [email protected] # в качестве домена используется ip.sslip.io
sudo ./install.sh sso.examle.org [email protected] # переданы оба значения

About

A simple script to install Keycloak in a docker container

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages