GitLab - Self Hosted Git Management & DevOps Toolchain
GitLab is a single application for the entire software development lifecycle. From project planning and source code management to CI/CD, monitoring, and security. GitLab provides Git based version control, packaged with a complete DevOps toolchain. Somewhat like GitHub, but much, much more.
This appliance includes all the standard features in TurnKey Core, and on top of that:
GitLab configurations:
GitLab, RubyGems, PostgreSQL, Nginx and all other required components installed from upstream Omnibus package.
Security note: Updates to GitLab may require supervision so they ARE NOT configured to install automatically. See below for updating GitLab. And/or see GitLab documentation.
Set GitLab admin user ('root') password and email on firstboot (convenience, security).
Set GitLab domain to serve on first boot (convenience).
Enable GitLab Omnibus built-in Let's Encrypt certificates via Confconsole plugin (under "Lets Encrypt").
Includes postfix MTA (bound to localhost) for sending of email (e.g. password recovery). Also includes webmin postfix module for convenience.
Supervised Manual GitLab Update
Check the installed and eligible versions without changing the appliance:
gitlab-update --check
Before an update, consult the GitLab upgrade path and the release-specific GitLab documentation. GitLab requires intermediate upgrade stops. Back up the appliance, then install the next eligible version explicitly:
apt update apt install gitlab-ce=<version>
Repeat the application acceptance checks before proceeding to another required
stop. Available versions are listed by apt-cache madison gitlab-ce and the
GitLab release blog.
If APT reports an expired repository key or NO_PUBKEY, follow the
repository-key rotation procedure. It preserves the per-repository
signed-by restriction and verifies GitLab's full published fingerprint.
Credentials (passwords set at first boot)
- Webmin, SSH: username root
- GitLab: username root