GitLab guide
GitLab.com vs Self-Managed vs Dedicated: a decision guide for African organisations
Compare GitLab.com, GitLab Self-Managed and GitLab Dedicated on data residency, POPIA, operations effort, compute minutes and GitLab Duo connectivity.
By Spreeze team · Published · 6 min read
GitLab.com is the fastest and cheapest to run but is hosted in the United States with no data residency option. GitLab Self-Managed gives you full control of where data lives and how GitLab connects to the internet, at the cost of running it yourself. GitLab Dedicated sits in between: a single-tenant instance that GitLab operates for you in an AWS region you choose, including Cape Town, but only on Ultimate. The right answer for most African organisations depends on three things: where your data must sit, who will operate the platform, and how much you want AI features to depend on external connectivity.
All facts below were checked against GitLab’s documentation on 13 October 2026.
The three options at a glance
| GitLab.com | GitLab Self-Managed | GitLab Dedicated | |
|---|---|---|---|
| Tenancy | Multi-tenant SaaS | Your own instance | Single-tenant SaaS |
| Who operates it | GitLab | You (or your partner) | GitLab |
| Where data lives | GitLab’s cloud providers in the United States | Wherever you host it (on-premises or any cloud) | AWS region you choose, including Africa (Cape Town) |
| Tiers | Free, Premium, Ultimate | Free, Premium, Ultimate | Ultimate only |
| Upgrades | Automatic | You schedule them | GitLab schedules them in maintenance windows |
| Feature limits | Few | You control feature flags and server hooks | Some features unavailable (see below) |
| Buying | Self-serve or via partner | Self-serve or via partner | Through GitLab sales or a partner, no self-serve |
Each deployment needs its own subscription. GitLab’s licensing policy says GitLab.com, Dedicated and Self-Managed instances are licensed separately.
Data residency and POPIA
GitLab.com
GitLab’s published subprocessor list names Google LLC and Amazon Web Services, both in the United States, as cloud hosting providers for GitLab.com. The same page offers a choice of hosting location only to Dedicated customers. If your policy requires repositories, issues and CI logs to stay in South Africa or on the continent, GitLab.com will not meet it.
That does not automatically rule GitLab.com out. POPIA’s section 72 does not ban offshore processing. It sets conditions for transferring personal information outside South Africa, such as the recipient being bound by a law, binding corporate rules or an agreement that provides adequate protection, or the data subject consenting. Source code itself is rarely personal information, but merge request comments, user profiles, audit logs and test data can be. Ask your privacy or legal team to assess what will actually flow into the platform.
GitLab Dedicated
Dedicated is deployed in your chosen AWS region, and GitLab’s documentation lists Africa (Cape Town), af-south-1, as a supported primary, secondary or backup region. You can add a secondary region for Geo-based disaster recovery and a separate backup region. Two points to plan for:
- Region choice is permanent. GitLab states it cannot be changed after provisioning.
- Encryption keys. Data is encrypted at rest and in transit, and you can supply your own AWS KMS key for data at rest.
Dedicated also supports AWS PrivateLink for private inbound and outbound connectivity, and an IP allowlist if you use public access.
Self-Managed
You decide where the instance runs: your own data centre, a South African cloud region or a hosting provider in another African country. That also makes you responsible for backups, patching and the security of the hosts. Our Self-Managed GitLab service covers design, installation and upgrades if you want control without carrying all of the operational load in-house.
Operations: who carries the pager?
GitLab.com needs almost no platform effort. You manage users, groups, runners you choose to host and your pipelines.
Dedicated is operated by GitLab’s SRE team, with a 99.9% monthly availability objective. The trade-off is less control. GitLab lists features that are not available on Dedicated, including LDAP, Kerberos and smart card authentication, Service Desk, reply by email, server-side Git hooks, Sigstore keyless signing and custom domains for GitLab Pages. You also cannot change feature flags or turn on features that are disabled by default. Check this list against your requirements before you commit.
Self-Managed gives you everything, including server hooks, LDAP and full feature flag control, but you need people who can run PostgreSQL, Gitaly storage, backups and monthly upgrades reliably. Be realistic: an under-maintained Self-Managed instance is often less secure than a SaaS one.
Compute minutes and runners
The plan allowances (400 compute minutes a month on Free, 10,000 on Premium and 50,000 on Ultimate) are consumed by instance runners. GitLab’s compute minutes documentation says project runners are not subject to the compute quota, and on Self-Managed the quota for your own instance runners is disabled by default.
In practice:
- On GitLab.com, GitLab-hosted runners use your minutes. You can register your own runners in your own network to keep builds local and reduce consumption. Extra minutes cost US$10 per 1,000 (one-time).
- On Self-Managed, all runners are yours, so the cost is your own infrastructure rather than minutes.
- On Dedicated, you can use GitLab-hosted runners or your own self-hosted runners.
Hosting your own runners close to your code and your artefact repository can also help with bandwidth and latency, which matters on African links. See our CI/CD services for runner design.
GitLab Duo and connectivity
AI features are where deployment choice has the biggest practical effect.
- GitLab.com: Duo works out of the box. The included-credits promotion GitLab was running at the time of checking is marked GitLab.com only on the pricing page.
- Self-Managed with GitLab-hosted AI: The default setup connects your instance to GitLab’s hosted AI gateway, which uses external model vendors, so it needs outbound internet access. The GitLab Duo Agent Platform needs GitLab 18.8 or later.
- Self-Managed with GitLab Duo Self-Hosted: You serve approved models yourself (GitLab names vLLM, AWS Bedrock and Azure OpenAI as examples). With an offline licence, the instance does not connect to GitLab’s billing or cloud AI components, which suits isolated networks. GitLab documents that this requires the relevant Duo add-on, so include it in your quote.
- Dedicated: GitLab notes that some Duo capabilities are not available.
If your security team will not allow source code to leave your network, Duo Self-Hosted on Self-Managed is the route to evaluate.
Which one should you choose?
Choose GitLab.com if you are a small or fast-moving team, your data classification allows US hosting, and you would rather spend engineering time on products than platforms. It is often the right answer for start-ups and software houses.
Choose Self-Managed if you must keep data on-premises or in a specific country, you need features Dedicated excludes (such as LDAP or server hooks), you want Duo to run in an isolated network, or you are on Premium and need in-country hosting. You need a team, or a partner, to run it well.
Choose Dedicated if you need Ultimate, want data in Cape Town or another specific AWS region, and do not want to operate GitLab yourself. Check the excluded-features list and budget for Ultimate pricing.
Before you decide
- Classify the data that will live in GitLab, not just the code.
- Confirm whether your regulator, customers or group policy require in-country hosting.
- List integrations that depend on LDAP, server hooks or Sigstore.
- Decide your AI connectivity stance before you trial Duo.
- If users sit in several countries, check GitLab’s licence region rule. Our guide to GitLab licensing across Africa explains it.
Moving between options later is possible but takes planning. Our GitLab migration service handles moves between GitLab.com and Self-Managed as well as from other platforms.
Spreeze is an authorised GitLab partner (Open track). We can quote any deployment option in USD or ZAR (your choice) and help you test it first. Request a quote.
GITLAB is a trademark of GitLab Inc. Other names are trademarks of their respective owners.
Sources
- GitLab pricing
- GitLab Docs: GitLab Dedicated
- GitLab Docs: Dedicated data residency and high availability
- GitLab subprocessors
- GitLab Docs: Compute minutes
- GitLab Docs: GitLab Duo Self-Hosted
- GitLab Docs: Licensing policy
- GitLab Docs: Signing examples (Sigstore)
- Protection of Personal Information Act 4 of 2013