fshy

fshy / CI runners / Compute / Storage

Codeberg

codeberg.org · CI runners, Compute, Storage · 8 records · JSON

Codeberg CI (hosted Woodpecker) CI runners

caveatemailno cardDwrite-gated

docs.codeberg.org/ci/ · CI runner · ci-cd-runners/codeberg-ci · JSON · compare

Free tierfree for public repositories under a free licence, after a manual access request; linux/amd64 only
unit unlimited; metered on wall-clock
Pricenone stated
Per-object capper-job wall clock from the runner label: see codeberg-forgejo-actions for the table; the Woodpecker page publishes no number
Retentionthe CI is provided as-is and may break for an undefined period
Egressno charge published
Identityemail a Codeberg account plus a reviewed access request
Limits
  • write-gated onboarding requires a request form reviewed by a Codeberg volunteer source
  • per-object-cap linux/amd64 is the sole build target; there is no Docker daemon in the hosted runners source
Bindingwrite-gated
Interfacegit, cli a .woodpecker.yml pipeline against ci.codeberg.org; self-hosted agents can be attached
Toolingthe Woodpecker pipeline images; no Docker daemon inside the hosted runners
Composes witha free control plane on a non-commercial forge, which pairs with a self-hosted agent to remove every cap
Reliability'CI access is provided as-is and might break at any time and for an undefined period'
NotesThe gate is a volunteer and the availability is explicitly not promised. The 600-minutes-a-month figure in circulation does not exist; the hosted runners are capped per job instead.
Evidence rungdocumented the Codeberg CI page was read today and states the manual onboarding and the amd64-only limit.
Checked2026-10-23 (live); stale on 2026-11-22
Evidence (1)
datesourcewhat it proved
2026-10-22docs.codeberg.org/ci/'Onboarding requires a few manual steps ... a Codeberg volunteer will review your request'; 'linux/amd64 is the sole build target'; CI is provided as-is and may break at any time

Codeberg Forgejo Actions (hosted runners) CI runners

caveatemailno cardDper-object-cap

codeberg.org/actions/meta · CI runner · ci-cd-runners/codeberg-forgejo-actions · JSON · compare

Free tierthree hosted runner labels on a free Codeberg account, in open alpha: tiny, small and medium. No job-count cap and no monthly minute meter is published; the only published ceiling is the per-job runtime of 2, 5 or 10 minutes
unit minutes; metered on wall-clock
Pricenone stated
Per-object capcodeberg-tiny 1 CPU / 2 GB / 2 min; codeberg-small 2 CPU / 4 GB / 5 min; codeberg-medium 4 CPU / 8 GB / 10 min
Retentionno artifact retention is published; the service is in open alpha
Egressno charge published
Identityemail a Codeberg account
Limits
  • per-object-cap 2 minutes per job on tiny, 5 on small, 10 on medium source
  • per-object-cap 1, 2 and 4 CPUs, with 2, 4 and 8 GB of RAM, and the RAM includes filesystem writes source
  • request-rate lazy variants exist and may wait up to 24 hours for a slot source
Bindingper-object-cap
Interfacegit, cli a GitHub-Actions-compatible workflow with runs-on set to a codeberg label; the default image is ghcr.io/catthehacker/ubuntu:act-latest
Toolingthe act-compatible image; podman for image builds; no Docker daemon
Composes witha GitHub-Actions-compatible workflow on a free runner for jobs that finish in ten minutes, which is the only free path to Actions syntax without a GitHub repository
Reliabilityopen alpha: the runner sizes are guidelines enforced by fair use rather than hard quotas, and the CI page states the service 'might break at any time and for an undefined period of time'
NotesTen minutes on four CPUs is 40 CPU-minutes per job, and the jobs are unlimited. That is a real free compute lane for short work and it is the only one here with no monthly meter.
Evidence rungdocumented the runner table was read today from Codeberg's own meta repository. The CPU figures are 1, 2 and 4, not the 2, 4 and 8 that the census recorded.
Checked2026-10-23 (live); stale on 2026-11-22
Parsed numbers
  • $.limits[0].value limit:per-object-cap 2.0 minutes
  • $.limits[1].value limit:per-object-cap 8.0 GB
  • $.limits[2].value limit:request-rate 24.0 hours
Evidence (2)
datesourcewhat it proved
2026-10-22codeberg.org/actions/meta'codeberg-tiny amd64 1 2G 2 min'; 'codeberg-small amd64 2 4G 5 min'; 'codeberg-medium amd64 4 8G 10 min'; 'The RAM allocation includes writes to the filesystem ... we grant you 2 GB of additional storage for temporary files per container'; the lazy variants may take up to 24 hours
2026-10-22docs.codeberg.org/ci/actions/Forgejo Actions is available with self-hosted runners and a hosted version in limited fashion in open alpha

Codeberg Forgejo Actions Compute

caveatemailno cardDper-object-cap

codeberg.org/actions/meta · CI runner · compute/codeberg-forgejo-actions · JSON · compare

Free tierQuoted: 'The following runners are available on Codeberg. The specs are guidelines for how many resources builds are allowed to take at most, but we rely on "fair use".' The table is codeberg-tiny 1 CPU / 2G / 2 min, codeberg-small 2 CPU / 4G / 5 min, codeberg-medium 4 CPU / 8G / 10 min, all amd64. No monthly quota is published: the constraint is a per-job runtime ceiling of 10 minutes on the largest runner, plus a fair-use clause. Quoted: 'Currently, we put strict resource and time constraints on hosted Forgejo Actions runs, because we do not have an approval workflow like in our hosted Woodpecker CI/CD.'
unit none; metered on wall-clock; there is no published monthly allowance; the unit of consumption is a job, capped at 10 minutes on the best runner
Pricenone stated
Per-object capnot applicable
Retentionnot stated on the page read: no sentence says how long a runner survives after a job or whether the container is reused. The page grants '2 GB of additional storage for temporary files per container', which implies a per-job container.
Egressnot stated
Identityemail Quoted: 'fill in your username and email address and then choose a good password' and 'After confirming your email address by clicking the link in the email we sent you, you're done and go to go.' No card, no hold, no phone and no identity document. Forgejo Actions needs no approval step, unlike Woodpecker: 'we do not have an approval workflow like in our hosted Woodpecker CI/CD'.
Limits
  • per-object-cap 10 minutes of wall clock on codeberg-medium, the largest runner, which is 4 CPU and 8G. codeberg-small is 5 minutes and codeberg-tiny is 2 minutes. Quoted: 'The specs are guidelines for how many resources builds are allowed to take at most, but we rely on "fair use".' source
  • per-object-cap The RAM allocation counts filesystem writes against it: 'If your software uses 1 GB of RAM and wrote 1 GB of temporary files, it will be counted as 2 GB against the quota.' 2 GB of extra temp storage per container is granted. source
  • write-gated not published source
  • request-rate The queue is shared and its fairness is enforced socially, not by a number: 'Don't jam the queue so other projects can also benefit from our offer.' source
  • retention-clamped A '-lazy' variant of each runner trades latency for scheduling: 'We aim for completing the job within 24 hours' source
The 10-minute per-job ceiling on codeberg-medium binds first and it binds absolutely: no amount of queue patience makes a 30-minute job run. There is no published monthly allowance, so the ceiling is per job and the aggregate is fair use, which is a discretionary throttle rather than a quota.
Bindingper-object-cap the 10-minute wall clock on the largest runner fails first and it fails hard: 4 vCPU for 10 minutes is 0.67 vCPU-hours per job, so a job that needs more than ten minutes cannot run at all however idle the queue is.
Interfaceunknown inferred from the tooling the provider documents; not probed
Toolingnot stated
Composes withUseful only as a lint-and-check lane beside a real build host: ten minutes of 4 vCPU is enough to run a formatter, a type check or a small unit suite, and the repository hosting is free beside it.
ReliabilityCodeberg's own documentation says of the CI service: 'CI access is provided as-is and might break at any time and for an undefined period of time, due to server issues, for testing and maintenance purposes or human error.' Hosted Forgejo Actions is described as 'open alpha'.
NotesThe smallest compute ceiling, and the record is worth keeping precisely because it is small: 0.67 vCPU-hours per job against GitHub's 24 vCPU-hours, a factor of 36. Two things make it worse than the arithmetic suggests for a user. First, there is no published monthly allowance, so the aggregate is 'fair use', which is a discretionary throttle with no threshold to design against. Second, Codeberg's rules name the exact use this corpus exists to serve: 'No extensive pipelines to assist LLM-driven workflows'. That is a published-conditions question and it is the operator's to judge, not this record's; what the record does is state the sentence. Not established: the egress term; whether the container is destroyed at job end (the 2 GB per-container temp storage grant implies it, but no sentence says so); and whether a job queued on a lazy runner counts against any aggregate at all, because no aggregate is published.
Evidence rungdocumented the 'open alpha' description is quoted from docs.codeberg.org/ci read today.
Checked2026-10-25 (live); stale on 2026-11-24
Parsed numbers
  • $.limits[0].value limit:per-object-cap 10.0 minutes
  • $.limits[1].value limit:per-object-cap 1.0 GB
  • $.limits[4].value limit:retention-clamped 24.0 hours
Evidence (11)
datesourcewhat it proved
2026-10-22codeberg.org/actions/metathe runner table: codeberg-tiny 1 CPU 2G 2 min, codeberg-small 2 CPU 4G 5 min, codeberg-medium 4 CPU 8G 10 min; the RAM-includes-filesystem warning with 2 GB extra temp storage; the lazy variants aiming at 24-hour completion; rules requiring a public repository under a free licence and 'No extensive pipelines to assist LLM-driven workflows'
2026-10-22docs.codeberg.org/ci/Woodpecker onboarding requires a request form reviewed by a Codeberg volunteer; 'linux/amd64 is the sole build target'; 'CI access is provided as-is and might break at any time'
2026-10-22codeberg.org/Codeberg-e.V./requestsaccess is granted per account rather than per project; the Rust note asks projects to cap parallelism with -j4 because the compiler otherwise takes every CPU
2026-10-24codeberg.org/actions/metaquoted: 'The following runners are available on Codeberg. The specs are guidelines for how many resources builds are allowed to take at most, but we rely on "fair use".' with the table rows 'codeberg-tiny | amd64 | 1 | 2G | 2 min', 'codeberg-small | amd64 | 2 | 4G | 5 min', 'codeberg-medium | amd64 | 4 | 8G | 10 min'
2026-10-24codeberg.org/actions/metaquoted: 'Currently, we put strict resource and time constraints on hosted Forgejo Actions runs, because we do not have an approval workflow like in our hosted Woodpecker CI/CD.'
2026-10-24codeberg.org/actions/metaquoted: 'The RAM allocation includes writes to the filesystem. If your software uses 1 GB of RAM and wrote 1 GB of temporary files, it will be counted as 2 GB against the quota.' and 'we grant you 2 GB of additional storage for temporary files per container.'
2026-10-24codeberg.org/actions/metanot published
2026-10-24codeberg.org/actions/metaquoted: 'For each runner variant, we offer a "lazy" runner.' and 'We aim for completing the job within 24 hours, and we are considering experiments like offsite runners which only run when solar energy is available.'
2026-10-24codeberg.org/actions/metaquoted: 'Codeberg's runner uses the ghcr.io/catthehacker/ubuntu:act-latest by default to provide a certain compatibility level with GitHub Actions.' and 'running the Docker daemon inside those runners is not officially supported'
2026-10-24docs.codeberg.org/ci/quoted: 'Forgejo Actions can be used with self-hosted runners and Codeberg also provides a hosted version in a limited fashion in open alpha.' and 'CI access is provided as-is and might break at any time and for an undefined period of time'
2026-10-24docs.codeberg.org/getting-started/first-steps/quoted: 'simply fill in your username and email address and then choose a good password' and 'After confirming your email address by clicking the link in the email we sent you, you're done and good to go!'
More fields (17)
{
 "wave2": {
  "class": "ci-runner-capacity",
  "free_tier_kind": "fair-use-hosted",
  "shape": {
   "vcpu": 4,
   "ram_gib": 8,
   "gpu_class": null,
   "gpu_count": 0
  }
 },
 "shape": {
  "vcpu": 4,
  "ram_gib": 8,
  "disk_gib": null,
  "gpu_class": null,
  "gpu_count": null,
  "note": "codeberg-medium, the largest published runner: '4 | 8G | 10 min'. Disk is not published; the page grants '2 GB of additional storage for temporary files per container' and warns that filesystem writes count against the RAM allocation."
 },
 "billing_model": "free",
 "term": "none",
 "m10h_usd": null,
 "m24h_usd": null,
 "price_arithmetic": "USD 0.00, and no arithmetic is possible: there is no published monthly allowance. One job on codeberg-medium is 4 vCPU x 10 min = 0.67 vCPU-hours. The aggregate depends on how many jobs the fair-use policy tolerates, which is not a number and so cannot be multiplied. This is the corpus's documented-absence rule: 'unlimited' may not be inferred from the silence, and neither may a daily total.",
 "free_tier_kind": "fair-use-hosted",
 "session_cap": {
  "wall_clock_min": 10,
  "idle_reap_s": null,
  "restart_required": true,
  "note": "10 minutes on codeberg-medium, 5 on small, 2 on tiny. A lazy variant may wait up to 24 hours for a slot. No monthly quota published."
 },
 "concurrency": {
  "jobs_at_once": null,
  "note": "not published: no concurrent-job number appears on the page read. The queue is shared and governed by 'Don't jam the queue'."
 },
 "keep_rate": {
  "value": 0.0,
  "basis": "the container is per job; nothing is billed",
  "source": "https://codeberg.org/actions/meta"
 },
 "persistent_storage": {
  "included_gib": 2,
  "price_gib_month": "not applicable: 2 GB of temp storage per container, not a durable volume",
  "durability": "none stated; per container",
  "survives_stop": false,
  "survives_destroy": false,
  "max_retention": "the job"
 },
 "network_out": {
  "allow_outbound": true,
  "allow_inbound_listen": false,
  "ports": "none stated: no page read offers an inbound address",
  "static_ip": false,
  "ipv6": null,
  "per_session_bytes": null
 },
 "units": "RAM is the vendor's own unit, written '8G'. Kept as 8.",
 "burst_x": null,
 "census_rows": [
  "codeberg-forgejo-actions"
 ],
 "wave3": {
  "verified": [
   "the three runner shapes and their 2/5/10-minute ceilings",
   "the fair-use clause with no monthly number",
   "public and free-licence repository required",
   "email-only signup with no card and no approval step for Forgejo Actions",
   "the 'open alpha' status"
  ],
  "corrected": "what it did not carry is that no monthly allowance exists at all, which is why nothing can be multiplied",
  "new": null
 }
}
Unknown or withheld values (9)
  • $.egress.metered egress-unknown
  • $.egress.terms not-stated
  • $.evidence[6].proved withheld
  • $.extras.wave3.corrected partly-held
  • $.extras.wave3.new withheld
  • $.interface interface-unknown
  • $.limits[2].value withheld
  • $.per_object_cap.stated not-applicable
  • $.tooling not-stated

codeberg (as a storage host) Storage

fails: quotaemail?card?R

docs.codeberg.org/getting-started/faq/ · rejected-provider · storage/codeberg · JSON · compare

Free tierExplicitly capacity-managed for F/LOSS code: request approval above 750 MiB Git storage and 1.5 GiB of packages/LFS/attachments, 100 MB private storage without a request. Not a bulk target a
unit none; metered on none
Pricenone stated
Per-object capnot recorded
Retentionnot recorded
Egressnot recorded
Identityemail (placeholder) not published
Bindingnone no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit
Interfaceunknown
Toolingnot recorded
Composes withnot recorded
ReliabilityExplicitly capacity-managed for F/LOSS code: request approval above 750 MiB Git storage and 1.5 GiB of packages/LFS/attachments, 100 MB private storage without a request. Not a bulk target a
NotesExplicitly capacity-managed for F/LOSS code: request approval above 750 MiB Git storage and 1.5 GiB of packages/LFS/attachments, 100 MB private storage without a request. Not a bulk target a
Evidence rungreported
Checked2026-10-21 (inherited); stale on 2026-11-04
Evidence (1)
datesourcewhat it proved
2026-10-21docs.codeberg.org/getting-started/faq/Explicitly capacity-managed for F/LOSS code: request approval above 750 MiB Git storage and 1.5 GiB of packages/LFS/attachments, 100 MB private storage without a request. Not a bulk target a
More fields (1)
{
 "dead_end": {
  "failure_class": "write-gated",
  "why": "Explicitly capacity-managed for F/LOSS code: request approval above 750 MiB Git storage and 1.5 GiB of packages/LFS/attachments, 100 MB private storage without a request. Not a bulk target a",
  "retry_when": null,
  "first_recorded": "2026-10-21"
 }
}
Unknown or withheld values (15)
  • $.chaining not-recorded
  • $.confidence_note withheld
  • $.egress.terms not-recorded
  • $.extras.dead_end.retry_when process
  • $.free_tier.notes process
  • $.identity_cost.detail defaulted
  • $.identity_cost.kind identity-defaulted
  • $.interface interface-unknown
  • $.interface_detail withheld
  • $.limits_note process
  • $.per_object_cap.notes not-recorded
  • $.per_object_cap.stated not-recorded
  • $.retention.notes process
  • $.retention.stated not-recorded
  • $.tooling not-recorded

codeberg (forgejo flagship instance) Storage

fails: quotaemail?card?R

blog.codeberg.org/new-storage-limits-on-codeberg-what-you-ne · rejected-provider · storage/codeberg-2 · JSON · compare

Free tierQuota is ~750 MiB Git + 1.5 GiB combined LFS/packages/attachments per user, plus 100 MiB for non-promoted/private content, plus 100 MB per release/issue attachment. Enforcement began 2025-05
unit none; metered on none
Pricenone stated
Per-object capnot recorded
Retentionnot recorded
Egressnot recorded
Identityemail (placeholder) not published
Bindingnone no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit
Interfaceunknown
Toolingnot recorded
Composes withnot recorded
ReliabilityQuota is ~750 MiB Git + 1.5 GiB combined LFS/packages/attachments per user, plus 100 MiB for non-promoted/private content, plus 100 MB per release/issue attachment. Enforcement began 2025-05
NotesQuota is ~750 MiB Git + 1.5 GiB combined LFS/packages/attachments per user, plus 100 MiB for non-promoted/private content, plus 100 MB per release/issue attachment. Enforcement began 2025-05
Evidence rungreported
Checked2026-10-21 (inherited); stale on 2026-11-04
Evidence (3)
datesourcewhat it proved
2026-10-21blog.codeberg.org/new-storage-limits-on-codeberg-what-you-neQuota is ~750 MiB Git + 1.5 GiB combined LFS/packages/attachments per user, plus 100 MiB for non-promoted/private content, plus 100 MB per release/issue attachment. Enforcement began 2025-05
2026-10-21docs.codeberg.org/getting-started/faq/cited as the basis of the rejection: Quota is ~750 MiB Git + 1.5 GiB combined LFS/packages/attachments per user, plus 100 MiB for non-promoted/private content, plus 100 MB per release/issue attachment. Enforcement began 2025-05
2026-10-21codeberg.org/Codeberg-e.V./requests/issues/2412cited as the basis of the rejection: Quota is ~750 MiB Git + 1.5 GiB combined LFS/packages/attachments per user, plus 100 MiB for non-promoted/private content, plus 100 MB per release/issue attachment. Enforcement began 2025-05
More fields (1)
{
 "dead_end": {
  "failure_class": "quota",
  "why": "Quota is ~750 MiB Git + 1.5 GiB combined LFS/packages/attachments per user, plus 100 MiB for non-promoted/private content, plus 100 MB per release/issue attachment. Enforcement began 2025-05",
  "retry_when": null,
  "first_recorded": "2026-10-21"
 }
}
Unknown or withheld values (15)
  • $.chaining not-recorded
  • $.confidence_note withheld
  • $.egress.terms not-recorded
  • $.extras.dead_end.retry_when process
  • $.free_tier.notes process
  • $.identity_cost.detail defaulted
  • $.identity_cost.kind identity-defaulted
  • $.interface interface-unknown
  • $.interface_detail withheld
  • $.limits_note process
  • $.per_object_cap.notes not-recorded
  • $.per_object_cap.stated not-recorded
  • $.retention.notes process
  • $.retention.stated not-recorded
  • $.tooling not-recorded

codeberg / forgejo package registry (forgejo packages) Storage

fails: quotaemail?card?R

blog.codeberg.org/new-storage-limits-on-codeberg-what-you-ne · rejected-provider · storage/codeberg-forgejo-package-registry · JSON · compare

Free tierHard caps: 750 MiB git repository storage plus 1.5 GiB combined for LFS/Packages/Releases/Attachments per user or org, and non-promoted personal repos capped at 100 MiB. Exceptions require a
unit none; metered on none
Pricenone stated
Per-object capnot recorded
Retentionnot recorded
Egressnot recorded
Identityemail (placeholder) not published
Bindingnone no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit
Interfaceunknown
Toolingnot recorded
Composes withnot recorded
ReliabilityHard caps: 750 MiB git repository storage plus 1.5 GiB combined for LFS/Packages/Releases/Attachments per user or org, and non-promoted personal repos capped at 100 MiB. Exceptions require a
NotesHard caps: 750 MiB git repository storage plus 1.5 GiB combined for LFS/Packages/Releases/Attachments per user or org, and non-promoted personal repos capped at 100 MiB. Exceptions require a
Evidence rungreported
Checked2026-10-21 (inherited); stale on 2026-11-04
Evidence (1)
datesourcewhat it proved
2026-10-21blog.codeberg.org/new-storage-limits-on-codeberg-what-you-neHard caps: 750 MiB git repository storage plus 1.5 GiB combined for LFS/Packages/Releases/Attachments per user or org, and non-promoted personal repos capped at 100 MiB. Exceptions require a
More fields (1)
{
 "dead_end": {
  "failure_class": "quota",
  "why": "Hard caps: 750 MiB git repository storage plus 1.5 GiB combined for LFS/Packages/Releases/Attachments per user or org, and non-promoted personal repos capped at 100 MiB. Exceptions require a",
  "retry_when": null,
  "first_recorded": "2026-10-21"
 }
}
Unknown or withheld values (15)
  • $.chaining not-recorded
  • $.confidence_note withheld
  • $.egress.terms not-recorded
  • $.extras.dead_end.retry_when process
  • $.free_tier.notes process
  • $.identity_cost.detail defaulted
  • $.identity_cost.kind identity-defaulted
  • $.interface interface-unknown
  • $.interface_detail withheld
  • $.limits_note process
  • $.per_object_cap.notes not-recorded
  • $.per_object_cap.stated not-recorded
  • $.retention.notes process
  • $.retention.stated not-recorded
  • $.tooling not-recorded

Codeberg (Forgejo) Git LFS Storage

fails: quotaemail?card?Rwrite-gated

codeberg.org · registry · storage/codeberg-git-lfs · JSON · compare

Free tier750 MiB git repository storage + 'Additional 1.5 GiB' for 'LFS, Packages, Releases, Attachments' per user or organization. Non-promoted/personal content is capped at 100 MiB. Enforced since 2025-05-16.
unit mixed; metered on stored-bytes
Pricenone stated
Per-object capnot stated
Retentionnot stated
EgressFree, no metered bandwidth published — but Codeberg explicitly calls out CDN-style excess use as the reason for the quota, so heavy serving is the thing they police.
Identityemail (placeholder) not published
Limits
  • write-gated reviewed via a request form that Codeberg itself calls 'hardly scalable' source
Quota is per user OR per org and the total (repo + LFS) is what's checked. Exceptions are human-reviewed via a request form that Codeberg itself calls 'hardly scalable'. Anubis-style bot protection on some sibling instances.
Bindingwrite-gated the write is a queue with a person or a rule in it, so the upload rate is set by somebody else
Interfacegit git
Toolinggit-lfs; Forgejo API. Codeberg Pages exists but 'Git LFS cannot be used with GitHub Pages sites' equivalent caveats apply.
Composes with1.5 GiB per user/org; unlimited orgs is theoretically possible but Codeberg automates exception-granting by heuristics ('age of the user account, contributions to well-known projects, membership') which specifically blocks the several-accounts pattern. 334 accounts for 500 GB — not practical.
ReliabilityFresh accounts are the ones most likely to be limited. Data is not silently vanished, but quota can be applied retroactively.
Notes750 MiB git repository storage + 'Additional 1.5 GiB' for 'LFS, Packages, Releases, Attachments' per user or organization. Non-promoted/personal content is capped at 100 MiB. Enforced since 2025-05-16.
Evidence rungreported One page read moves it to documented.
Checked2026-10-21 (inherited); stale on 2026-11-04
Evidence (3)
datesourcewhat it proved
2026-10-21blog.codeberg.org/new-storage-limits-on-codeberg-what-you-ne'Git repository storage: 750 MiB / LFS, Packages, Releases, Attachments: Additional 1.5 GiB / ... should not exceed 100 MiB'; restrictions starting 'Friday May 16, 2025'
2026-10-21docs.codeberg.org/git/using-lfs/LFS is standard git-lfs workflow against Codeberg's server
2026-10-21codeberg.org/forgejo/forgejo.git/info/lfs/objects/batchprobe: POST -> HTTP 200
More fields (2)
{
 "unit_note": "free_tier.unit is 'mixed' because the headline is denominated in MiB or KiB, which the schema enum does not carry; the verbatim free_tier.stated keeps the true unit. See the storage-dossier handover.",
 "dead_end": {
  "failure_class": "quota",
  "why": "750 MiB git repository storage + 'Additional 1.5 GiB' for 'LFS, Packages, Releases, Attachments' per user or organization. Non-promoted/personal content is capped at 100 MiB. Enforced since 2025-05-16.",
  "retry_when": null,
  "first_recorded": "2026-10-21"
 }
}
Unknown or withheld values (8)
  • $.extras.dead_end.retry_when process
  • $.free_tier.notes process
  • $.identity_cost.detail defaulted
  • $.identity_cost.kind identity-defaulted
  • $.per_object_cap.notes not-extracted
  • $.per_object_cap.stated not-extracted
  • $.retention.notes not-extracted
  • $.retention.stated not-extracted

codeberg (forgejo) packages / container registry Storage

fails: quotaemail?card?R

codeberg.org/v2/ · rejected-provider · storage/codeberg-packages-container-registry · JSON · compare

Free tierCaps are tiny and hard: 750 MiB git repo, plus 1.5 GiB combined for LFS/Packages/Releases/Attachments, and non-promoted personal repos capped at 100 MiB. Quotas enforced by Forgejo with huma
unit none; metered on none
Pricenone stated
Per-object capnot recorded
Retentionnot recorded
Egressnot recorded
Identityemail (placeholder) not published
Bindingnone no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit
Interfaceunknown
Toolingnot recorded
Composes withnot recorded
ReliabilityCaps are tiny and hard: 750 MiB git repo, plus 1.5 GiB combined for LFS/Packages/Releases/Attachments, and non-promoted personal repos capped at 100 MiB. Quotas enforced by Forgejo with huma
NotesCaps are tiny and hard: 750 MiB git repo, plus 1.5 GiB combined for LFS/Packages/Releases/Attachments, and non-promoted personal repos capped at 100 MiB. Quotas enforced by Forgejo with huma
Evidence rungreported
Checked2026-10-21 (inherited); stale on 2026-11-04
Evidence (3)
datesourcewhat it proved
2026-10-21codeberg.org/v2/Caps are tiny and hard: 750 MiB git repo, plus 1.5 GiB combined for LFS/Packages/Releases/Attachments, and non-promoted personal repos capped at 100 MiB. Quotas enforced by Forgejo with huma
2026-10-21codeberg.org/v2/tokencited as the basis of the rejection: Caps are tiny and hard: 750 MiB git repo, plus 1.5 GiB combined for LFS/Packages/Releases/Attachments, and non-promoted personal repos capped at 100 MiB. Quotas enforced by Forgejo with huma
2026-10-21docs.codeberg.org/getting-started/faq/cited as the basis of the rejection: Caps are tiny and hard: 750 MiB git repo, plus 1.5 GiB combined for LFS/Packages/Releases/Attachments, and non-promoted personal repos capped at 100 MiB. Quotas enforced by Forgejo with huma
More fields (1)
{
 "dead_end": {
  "failure_class": "quota",
  "why": "Caps are tiny and hard: 750 MiB git repo, plus 1.5 GiB combined for LFS/Packages/Releases/Attachments, and non-promoted personal repos capped at 100 MiB. Quotas enforced by Forgejo with huma",
  "retry_when": null,
  "first_recorded": "2026-10-21"
 }
}
Unknown or withheld values (15)
  • $.chaining not-recorded
  • $.confidence_note withheld
  • $.egress.terms not-recorded
  • $.extras.dead_end.retry_when process
  • $.free_tier.notes process
  • $.identity_cost.detail defaulted
  • $.identity_cost.kind identity-defaulted
  • $.interface interface-unknown
  • $.interface_detail withheld
  • $.limits_note process
  • $.per_object_cap.notes not-recorded
  • $.per_object_cap.stated not-recorded
  • $.retention.notes process
  • $.retention.stated not-recorded
  • $.tooling not-recorded