Ниже предоставлен конфиг для GitLab EE (и CE) который кушает куда меньше ресурсов. У меня вышло ~3GB ОЗУ с данным конфигом.
Не забудьте заменить example.com, часовой пояс и порты на свои.
Docker Compose:
services:
gitlab:
container_name: gitlab
hostname: example.com
image: gitlab/gitlab-ee:latest
restart: unless-stopped
ports:
- 9980:80 # HTTP
- 9922:22 # SSH
shm_size: '256m'
volumes:
- /gitlab/config/gitlab.rb:/etc/gitlab/gitlab.rb:ro
- /gitlab/config:/etc/gitlab
- /gitlab/logs:/var/log/gitlab
- /gitlab/data:/var/opt/gitlab
# - /gitlab-license-generator/license/public.key:/opt/gitlab/embedded/service/gitlab-rails/.license_encryption_key.pub
Содержимое файла gitlab.rb
## Timezone
gitlab_rails['time_zone'] = 'Europe/Moscow'
## URLs
external_url 'https://example.com'
## For reverse proxy use
letsencrypt['enable'] = false
nginx['listen_port'] = 80
nginx['listen_https'] = false
nginx['redirect_http_to_https'] = false
nginx['real_ip_trusted_addresses'] = ['172.16.0.0/12', '127.0.0.1']
gitlab_rails['trusted_proxies'] = ['172.16.0.0/12', '127.0.0.1']
nginx['real_ip_recursive'] = 'on'
## Registry
# registry_external_url 'https://registry.example.com'
#gitlab_rails['registry_enabled'] = true
#registry_nginx['listen_https'] = false
#registry_nginx['listen_port'] = 5000
# Making GitLab easier to run
## Unicorn config
unicorn['worker_processes'] = 2
## PostgreSQL config
postgresql['shared_buffers'] = "256MB"
## Sidekiq config
sidekiq['max_concurrency'] = 4
sidekiq['concurrency'] = 1
## Puma config
puma['worker_timeout'] = 120
puma['worker_processes'] = 1
## Monitoring
alertmanager['enable'] = false
gitlab_exporter['enable'] = false
gitlab_kas['enable'] = false
gitlab_rails['microsoft_graph_mailer_enabled'] = false
gitlab_rails['smtp_enable'] = false
mattermost_nginx['enable'] = false
mattermost['enable'] = false
monitoring_role['enable'] = false
node_exporter['enable'] = false
pgbouncer_exporter['enable'] = false
postgres_exporter['enable'] = false
prometheus['enable'] = false
redis_exporter['enable'] = false
## GitLab UI metrics will be unavailable if you disable this
prometheus_monitoring['enable'] = true
## Disable telemetry
gitlab_rails['usage_ping_enabled'] = false
gitlab_rails['initial_gitlab_product_usage_data'] = false
Получение локальной лицензии для ознакомительных целей (😉)
git clone https://git.jbro.top/jonny_bro/gitlab-license-generatorcd gitlab-license-generatorREADME.mdКраткий перевод инструкции:
sudo apt update && sudo apt install ruby-fullgem install bundler && gem install gitlab-license./make.shИЛИ
Собираем Docker контейнер и запускаем его
git clone https://git.jbro.top/jonny_bro/gitlab-license-generator
cd gitlab-license-generator
docker build . -t gitlab-license-generator:main
docker run --rm -it \
-v "./license:/license-generator/build" \
-e LICENSE_NAME="Tim Cook" \
-e LICENSE_COMPANY="Apple Computer, Inc." \
-e LICENSE_EMAIL="tcook@apple.com" \
-e LICENSE_PLAN="ultimate" \
-e LICENSE_USER_COUNT="2147483647" \
-e LICENSE_EXPIRE_YEAR="2500" \
gitlab-license-generator:main