ABOUT
GitLab CE is a complete DevOps platform: Git repository hosting, issue tracking, merge requests, CI/CD pipelines, a container registry and a package registry in one application. This installs the official Omnibus package, which bundles its own PostgreSQL, Redis, NGINX and Puma.
warningThe initial root password is in /etc/gitlab/initial_root_password and is deleted automatically after 24 hours. Log in at http://<IP> as 'root' and change it right away.
warningGitLab Omnibus is resource-hungry. 8 GB RAM and 4 cores are the practical minimum; the official requirement is 4 GB RAM plus swap and it will feel slow below 8 GB. The first 'gitlab-ctl reconfigure' during installation takes several minutes.
infoexternal_url is set to the container IP at install time. If you use a domain or a reverse proxy, change external_url in /etc/gitlab/gitlab.rb and run 'gitlab-ctl reconfigure'.
warning/etc/gitlab/gitlab.rb sets package['modify_kernel_parameters'] = false. Omnibus otherwise runs 'sysctl -e --system' during reconfigure, which fails in an unprivileged LXC because most kernel keys are not writable. Do not remove that line.
infoOmnibus bundles its own PostgreSQL, Redis and NGINX - do not install those separately in this container. Repositories live in /var/opt/gitlab; back up with 'gitlab-backup create' rather than copying directories.
INSTALL
Approved local installer
DefaultDebian 13
Approved locally4 CPU8192 MB RAM40 GB disk
Config path/etc/gitlab/gitlab.rb
Run this command in the Proxmox VE shell. It downloads the immutable approved file, verifies SHA-256, and only then executes it.
( url='https://scripts.francoisvw.com/snapshots/c19711ea1b2526bec67e34be948114e255b5a811/ct/gitlab.sh'; sha='6879909a2f2a380f7e20ceda9c2b09764ef6662fb1c0c8082d5d3bad2388ef8b'; tmp="$(mktemp)" || exit; curl -fsSL "$url" -o "$tmp" && printf '%s %s\n' "$sha" "$tmp" | sha256sum -c - && bash "$tmp"; rc=$?; rm -f "$tmp"; exit "$rc" )
View approved source ↗Path ct/gitlab.shSHA-256 6879909a2f2a380f7e20ceda9c2b09764ef6662fb1c0c8082d5d3bad2388ef8b LOCAL CHANGE REVIEW
Approved vs latest fetched source
Sign in with a passkey to inspect pending source changes. Approved content remains public.