Пример использования GITLAB_OMNIBUS_CONFIG при развертывании Gitlab с помощью Docker
Параметр GITLAB_OMNIBUS_CONFIG
используется для передачи конфигурационных настроек в GitLab, развернутый с помощью Docker. Он позволяет настроить различные параметры через окружение контейнера без необходимости редактировать конфигурационные файлы вручную. Эти параметры аналогичны тем, что вы настраиваете в файле /etc/gitlab/gitlab.rb
при установке GitLab Omnibus на сервер.
Пример использования GITLAB_OMNIBUS_CONFIG
:
В docker-compose.yml
этот параметр может быть задан следующим образом:
1 2 3 4 5 6 7 8 9 10 |
environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://gitlab.example.com' gitlab_rails['gitlab_shell_ssh_port'] = 22 nginx['redirect_http_to_https'] = true nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.example.com.crt" nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.example.com.key" letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['admin@example.com'] |
Основные параметры GITLAB_OMNIBUS_CONFIG
:
external_url
:- Задает URL, по которому будет доступен GitLab. Это основная настройка, которая необходима для работы GitLab.
- Пример:
external_url 'http://gitlab.example.com'
gitlab_rails
:- Здесь можно настроить различные параметры Rails-приложения GitLab, такие как порты SSH, параметры электронной почты и многое другое.
- Пример:
gitlab_rails['gitlab_shell_ssh_port'] = 2222
nginx
:- Настройки NGINX, встроенного в GitLab. Например, можно настроить редирект с HTTP на HTTPS, указать SSL-сертификаты и многое другое.
- Пример:
1234nginx['redirect_http_to_https'] = truenginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.example.com.crt"nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.example.com.key"
letsencrypt
:- Включает поддержку Let’s Encrypt для автоматического получения и установки SSL-сертификатов.
- Пример:
123letsencrypt['enable'] = trueletsencrypt['contact_emails'] = ['admin@example.com']
postgresql
иredis
:- Можно настроить встроенные PostgreSQL и Redis или использовать внешние экземпляры баз данных.
- Пример:
12345678910postgresql['enable'] = falseredis['enable'] = falsegitlab_rails['db_adapter'] = "postgresql"gitlab_rails['db_encoding'] = "utf8"gitlab_rails['db_host'] = "postgres.example.com"gitlab_rails['db_port'] = 5432gitlab_rails['db_username'] = "gitlab"gitlab_rails['db_password'] = "secure_password"gitlab_rails['db_database'] = "gitlabhq_production"
Полезные параметры:
unicorn['worker_processes']
: Настраивает количество процессов Unicorn для обработки запросов.gitlab_rails['smtp_enable']
иgitlab_rails['smtp_address']
: Настройки для отправки почты через SMTP-сервер.backup['path']
: Настройка пути для хранения резервных копий.
Полный пример GITLAB_OMNIBUS_CONFIG
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
GITLAB_OMNIBUS_CONFIG: | external_url 'http://gitlab.example.com' gitlab_rails['gitlab_shell_ssh_port'] = 2222 nginx['redirect_http_to_https'] = true nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.example.com.crt" nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.example.com.key" letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['admin@example.com'] unicorn['worker_processes'] = 4 gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.example.com" gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_user_name'] = "smtp_user" gitlab_rails['smtp_password'] = "smtp_password" gitlab_rails['smtp_domain'] = "example.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true |
Применение:
Эти настройки будут применены при первом запуске контейнера GitLab или при выполнении команды gitlab-ctl reconfigure
внутри контейнера. GITLAB_OMNIBUS_CONFIG
позволяет удобно конфигурировать GitLab, не внося изменения в сам контейнер и сохраняя конфигурацию в файле docker-compose.yml
.
Recommended Posts
Ошибки установки Vault в Gitlab CI пайплайне
26.02.2024
Что такое docker:dind и как он работает?
22.03.2023