GitLab CE
Your own Git hosting with CI/CD and a container registry.
GitLab Community Edition on Ubuntu 24.04 with HTTPS set up for you: Git hosting, merge requests, issues and CI/CD pipelines on your own server in Germany.
Opens the Odinex console with GitLab CE selected. No licence fee: you pay for the server only.
- Base image
- Ubuntu 24.04 LTS
- Minimum
- 4 GB RAM · 40 GB disk
- Recommended plan
- S4 (4 vCPU · 8 GB RAM · 120 GB NVMe)
- Ready after boot
- 10 to 15 minutes (GitLab configures itself on first boot)
- Image slug
gitlab
About GitLab CE
GitLab CE is the open-source edition of GitLab: Git repositories, merge requests and code review, issues and boards, a wiki, CI/CD pipelines and a container registry in one application. Self-hosting keeps your source code on a server you control.
This image has the official GitLab CE Omnibus package installed. On first boot it configures GitLab for this server's HTTPS address with a Let's Encrypt certificate, sets the root password and tunes GitLab for a smaller server (fewer Puma workers and Sidekiq threads, built-in Prometheus monitoring off).
What’s included
Software installed on the image and the ports it uses.
| Component | Version |
|---|---|
| Ubuntu | 24.04 LTS |
| GitLab CE (Omnibus package) | Latest release at image build time |
| Bundled services | NGINX, PostgreSQL, Redis, Puma, Sidekiq, Gitaly |
| Let's Encrypt | GitLab's built-in integration, retried until it succeeds |
| Port | Protocol | Used for |
|---|---|---|
| 22 | TCP | SSH and Git over SSH (git@your-host) |
| 80 | TCP | HTTP (redirects to HTTPS, certificate validation) |
| 443 | TCP | HTTPS: web interface, API and Git over HTTPS |
| 5050 | TCP | Container registry (when GitLab enables it with Let's Encrypt) |
Who it’s for
- Teams that need private Git hosting with code review
- Companies that must keep source code on their own infrastructure in the EU
- DevOps engineers who want CI/CD close to their servers
Use cases
Private Git hosting for a team
Repositories, merge requests, protected branches and code review without per-user fees.
CI/CD pipelines
Define pipelines in
.gitlab-ci.ymland run them on GitLab Runners you register, for example on Docker CE servers.Container registry
Build images in CI and push them to the registry next to your code.
Resources
GitLab CE needs at least 4 GB of RAM and a 40 GB disk. Every plan includes an NVMe disk and 20 TB of traffic.
Smallest plan
S2
- 2 vCPU (shared)
- 4 GB RAM
- 60 GB NVMe disk
The smallest plan that meets the minimum.
Recommended
S4
- 4 vCPU (shared)
- 8 GB RAM
- 120 GB NVMe disk
A comfortable size for regular use.
GitLab needs at least 4 GB of RAM. S2 works for a few users; S4 (4 vCPU, 8 GB) is noticeably faster and suits a team. Run CI jobs on separate runner servers, not on the GitLab server. You can resize the server later. See current prices.
Getting started after deploy
Let the first boot finish
GitLab configures itself on first boot, which takes several minutes. Until it is done the address does not answer, or shows a 502 page. The log is in
/var/log/nexoran-gitlab-reconfigure.log.Find your address and password
The address, user name and password are written to
/root/APP-INFO.txtand printed when you log in over SSH as root. If you created the server with a root password and it meets GitLab's rules (8 or more characters), the app uses that same password, so you can sign in with what the console showed you at creation. If you used an SSH key (or the password does not meet the policy), a strong password is generated for this server and written to/root/APP-INFO.txt.ssh [email protected] cat /root/APP-INFO.txtSign in as root
Open the address and sign in as
root. Until you add your own domain, the app is served athttps://<your-ip-with-dashes>.sslip.io(for examplehttps://203-0-113-10.sslip.io), a public wildcard DNS name that resolves to your server, with a Let's Encrypt certificate obtained automatically. Opening the bare IP address redirects there. If Let's Encrypt is not reachable at first, GitLab serves a self-signed certificate and retries every 15 minutes until a valid one is issued.Lock down sign-ups
In the Admin area, under Settings → General → Sign-up restrictions, turn off sign-ups or require approval, and create accounts for your team.
Use your own domain
Create an A record for your domain that points to the server's IPv4 address and wait until it resolves. Then run the domain helper as root: it switches the app to the new name and obtains a new certificate. For GitLab it updates
external_urland runsgitlab-ctl reconfigure.nexoran-app-domain app.example.comConfigure email
No mail server is installed, so GitLab cannot send notifications or password resets yet. Add your SMTP provider to
/etc/gitlab/gitlab.rb, then rungitlab-ctl reconfigure.Add a runner
Pipelines need at least one GitLab Runner. Install it on a separate server (a Docker CE server works well) and register it from your project or the Admin area.
Security notes
- The build's secrets are removed from the image; each server generates its own
gitlab-secrets.jsonon first boot. Back it up with your data: backups cannot be restored without it. - A server without a firewall accepts all inbound traffic. Create an Odinex firewall that allows only SSH (22), HTTP (80), HTTPS (443) and, if you use the registry, 5050 and apply it to the server. Odinex firewalls filter traffic before it reaches the server, so Docker's own iptables rules cannot bypass them.
- Require two-factor authentication for all users in the Admin area.
- Keep GitLab updated with
apt update && apt install gitlab-ce; GitLab's package repository is already configured. Take a snapshot before every upgrade. - Use
gitlab-backup createfor application backups and Odinex backups or snapshots for the whole server.
GitLab CE questions
Clear answers about location, infrastructure and billing.
Is GitLab Runner included?
Can Git over SSH and server SSH share port 22?
git user on port 22 (git@your-host), and you log in to the server as root on the same port.Where is the configuration?
/etc/gitlab/gitlab.rb. After editing it, apply the change with gitlab-ctl reconfigure.Is this GitLab Enterprise Edition?
Documentation
More from the marketplace
Deploy GitLab CE in Frankfurt
Your own server with full root access, NVMe storage and 20 TB of traffic, billed by the hour.



