GitLab
sudo dnf install -y curl policycoreutils openssh-server perl
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo nvim /etc/yum.repos.d/gitlab_gitlab-ce.repo
change fedora/43 to el/8
sudo dnf clean all
sudo dnf makecache
sudo EXTERNAL_URL="http://oak" dnf install -y gitlab-ce
sudo dnf install -y libxcrypt-compat
sudo gitlab-ctl reconfigure
get password from /etc/gitlab/initial_root_password and then sign in
username: root
password in /etc/gitlab/initial_root_password
Manually confirm email address:
sudo gitlab-rails console
user = User.find_by(email: '[email protected]')
or:
user = User.find_by(username: 'root')
user.confirm
exit
Making it use less RAM
Edit /etc/gitlab/gitlab.rb
# Puma - web server (biggest impact)
puma['worker_processes'] = 0 # Single mode saves ~400MB+
# Sidekiq - background jobs
sidekiq['concurrency'] = 10 # Down from 20
# PostgreSQL
postgresql['shared_buffers'] = "256MB" # 1/4 of available RAM
# Disable monitoring (if not needed)
prometheus_monitoring['enable'] = false # Saves ~200MB
# Disable unused services
gitlab_pages['enable'] = false
registry['enable'] = false # If not using container registry
# Memory allocator optimization
gitlab_rails['env'] = {
'MALLOC_CONF' => 'dirty_decay_ms:1000,muzzy_decay_ms:1000'
}
# Gitaly optimization
gitaly['configuration'] = {
concurrency: [
{ 'rpc' => "/gitaly.SmartHTTPService/PostReceivePack", 'max_per_repo' => 3 },
{ 'rpc' => "/gitaly.SSHService/SSHUploadPack", 'max_per_repo' => 3 }
],
cgroups: {
repositories: { count: 2 },
mountpoint: '/sys/fs/cgroup',
hierarchy_root: 'gitaly',
memory_bytes: 536870912,
cpu_shares: 512
}
}
gitaly['env'] = {
'MALLOC_CONF' => 'dirty_decay_ms:1000,muzzy_decay_ms:1000',
'GITALY_COMMAND_SPAWN_MAX_PARALLEL' => '2'
}
sudo gitlab-ctl status
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo gitlab-ctl status