Files
gitlab-in-docker/README.md
Vassiliy Yegorov 4dd8ffd55d update compose ver
2022-03-09 11:31:59 +07:00

65 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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/v2.3.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
```
Подразумевается, что у вас есть `домен` и вы уже создали два поддомена `docker` и `gitlab`
Подразумевается, что и гитлаб и регистри будут работать через один порт 443
Подразумевается, что у вас уже есть webproxy или traefik, которые возьмут на себя ингрессы контейнеров и выдачу (обновление) им сертификатов
(сеть webpоxy как раз комментирована по этому - ее надо будет раскоментировать под свои условия)
traefik можно поставить по этой [репке](https://github.com/vasyakrg/traefik)
`labels` у контейнеров подготовлены, если у вас traefik, раскомментите эти поля
`runner` - костомизирован только тем, что в нем встроена система авторегистрации на сервере.
я размещаю папки так:
/src/services/cfg
- gitlab
- traefig
/srv/services/data
- gitlab
## Запуск
1. переименовываем `.env.example` в `.env`
2. заполняем по максимому внимательно все переменные (кроме `RUNNER_TOKEN=`)
3. распаковываем в папке ssl-certs сертификаты и кладем там же (сертификаты noname и нужны лишь для внутреннего взаимодействия между gitlab и registry компонентами). Убедитесь что на всех ключах выставлены права в 0644
4. запускаем сборку `docker-compose up -d`
5. когда сервер запустится, вы войдете в систему под рутом, надо сходить в раздел раннеров (/admin/runners) и подсмотреть там токен, который и нужно будет заполнить в переменной `RUNNER_TOKEN=` и снова запустить `docker-compose up -d`, после чего раннеры перезапустятся и зарегистрируються в системе.
Если некоторые из 4х раннеров ушли в ошибку `is not healthy and will be disabled!`, то нужно:
- `docker-compose stop runner_2`
- `docker-compose rm runner_2`
- `rm /srv/services/data/gitlab/gitlab-runner_3/config.toml`
- `docker-compose up -d`
То есть, останавливаем и удаляем контейнер. Удаляем конфиг и перезапускаем весь компоуз.
Он поднимет удаленный ранее контейнер и снова его перенастроит и подключит.
После чего раннер должен будет зарегистрироваться в гитлабе.
## Первый вход
- root \ пароль указанный в переменной `GITLAB_ROOT_PASSWORD`
## Автор \ Author
- **Vassiliy Yegorov** [vasyakrg](https://github.com/vasyakrg)
- [youtube](https://youtube.com/realmanual)
- [site](https://vk.com/realmanual)
- [telegram](https://t.me/realmanual)
- [any qiestions for me](https://t.me/realmanual_group)