f6aaf76235fea8cf885c46239e58fc7f90b5052c
Gitlab in docker
Полноценная сборка сервера Gitlab, его базы на psql, 4х раннеров и своего docker-registry, разворачеваемая на докер-хосте
Преподготовка
- нужен docker
curl https://get.docker.com -o install.sh && sh install.sh
- нужен docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
- переименовываем
.env.example
в.env
- заполняем по максимому внимательно все переменные (кроме
RUNNER_TOKEN=
) - распаковываем в папке ssl-certs сертификаты и кладем там же (сертификаты noname и нужны лишь для внутреннего взаимодействия между gitlab и registry компонентами). Убедитесь что на всех ключах выставлены права в 0644
- запускаем сборку
docker-compose up -d
- когда сервер запустится, вы войдете в систему под рутом, надо сходить в раздел раннеров (/admin/runners) и подсмотреть там токен, который и нужно будет заполнить в переменной
RUNNER_TOKEN=
и снова запуститьdocker-compose up -d
, после чего раннеры перезапустятся и зарегистрируються в системе.
Подразумевается, что у вас есть домен
и вы уже создали два поддомена docker
и gitlab
Подразумевается, что и гитлаб и регистри будут работать через один порт 443
Подразумевается, что у вас уже есть webproxy или traefik, которые возьмут на себя ингрессы контейнеров и выдачу (обновление) им сертификатов
(сеть webpоxy как раз комментирована по этому - ее надо будет раскоментировать по свои условия)
traefik можно поставить по этой репке
labels
у контейнеров подготовлены, если у вас traefik, раскомментите эти поля
runner
- костомизирован только тем, что в нем встроена система авторегистрации на сервере.
Автор \ Author
- Vassiliy Yegorov vasyakrg
- youtube
- site
- telegram
- any qiestions for me
Description
Languages
Shell
100%