GitLab Pages (gitlab.io)
gitlab.com/groups/pagesGitstorage/gitlab-pagesJSONcomparereport an errorprovider JSON
- Free allowance
- 1 GB maximum site size on gitlab.com (tied to the 1 GB max artifact size); 200,000 file entries per site; unlimited projects.
- Verdict
- fails: quotathe free allowance is too small to matter
- Cost
- free tier
- Identity
- email?placeholder, not evidence; card unknown, phone unknown
- Binding limit
- noneno named constraint binds
- Evidence
- reported4 sources; a third party said so
- Freshness
- stale on 2026-11-05checked 2026-10-21 (inherited); stale on 2026-11-05
| Free tier | 1 GB maximum site size on gitlab.com (tied to the 1 GB max artifact size); 200,000 file entries per site; unlimited projects. unit objects; metered on unstated |
|---|
| Price | none stated |
|---|
| Identity | email (placeholder) not published |
|---|
| Egress | No egress charge published; rate limits are 1,000 requests/50s per IP and 5,000 requests/10s per Pages domain — generous enough for real serving but a hard ceiling if sharded heavily onto one domain. |
|---|
| Per-object cap | not stated |
|---|
| Retention | not stated |
|---|
| Interface | git, rclone git |
|---|
| Tooling | git push + a pages job in .gitlab-ci.yml (a 'pages' artifact); the git-pages v2 API also accepts a direct HTTP upload. No rclone backend. |
|---|
| Composes with | 1 GB x unlimited projects x unlimited namespaces. 20 TiB = 20,480 projects. Per-project cap is 2x GitHub Pages but still fails a 500 GB unit test on its own. |
|---|
| Reliability | Self-managed default is a 100 MB Pages cap, but gitlab.com is 1 GB — do not confuse the two. CI minutes are free but shared runners now require a card on file for gitlab.com. |
|---|
Evidence 4
More fields 1
{
"dead_end": {
"failure_class": "quota",
"why": "1 GB maximum site size on gitlab.com (tied to the 1 GB max artifact size); 200,000 file entries per site; unlimited projects.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown values 5
$.binding_note boilerplate$.per_object_cap.notes the field may be stated in a source that was not read$.per_object_cap.stated the field may be stated in a source that was not read$.retention.notes the field may be stated in a source that was not read$.retention.stated the field may be stated in a source that was not read