Lemmy + pict-rs
join-lemmy.org · Storage · 1 record · JSON
Lemmy + pict-rs — per-instance image store, no per-user quota Storage
fails: quotainstitutionno cardRper-object-cap
| Free tier | No per-user quota in Lemmy's own schema — the bound is pict-rs (the separate Rust image server) and the instance's disk. Upload is gated per-instance by the image_upload / image_mode local-site flag rather than by bytes.unit mixed; metered on unstated |
|---|---|
| Price | none stated |
| Per-object cap | per-object-cap set by pict-rs (max_file_size, commonly 40 MB (40000000 bytes) |
| Retention | not stated |
| Egress | Free. |
| Identity | institution derived from the record's prose, not from an identity field, and no signup was executed: stration gated on the big instances. Also note Lemmy stores federated/remote images too, so operator disk fills from other people's content, which is why uploads get turned off. Lemmy is th |
| Limits |
per-object-cap set by pict-rs ( max_file_size, commonly 40 MB); no per-user byte quota; per-instance disk. |
| Binding | per-object-cap the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota |
| Interface | rest rest |
| Tooling | Lemmy API v3: POST /api/v3/pictrs/image (multipart) or /api/v3/upload; needs a JWT from POST /api/v3/user/login. pict-rs itself exposes POST /image on its own port (often 8080) — on instances that expose it, that is a cleaner upload path than the Lemmy API. |
| Composes with | Lemmy is the weakest of the family: most large instances now REQUIRE an application (lemmy.world registration_mode = 'RequireApplication'), and image_mode is frequently set to block uploads entirely or to proxy-only. Multiplier depends entirely on finding a permissive instance. |
| Reliability | Registration gated on the big instances. Also note Lemmy stores federated/remote images too, so operator disk fills from other people's content, which is why uploads get turned off. |
| Notes | No per-user quota in Lemmy's own schema — the bound is pict-rs (the separate Rust image server) and the instance's disk. Upload is gated per-instance by the image_upload / image_mode local-site flag rather than by bytes. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
| Parsed numbers |
|
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | lemmy.world/api/v3/site | probe: GET -> 200, local_site.registration_mode='RequireApplication', version 0.19.19-9-gc55dd1b1a; local_site carries NO image upload size field (only image_mode/enable_nsfw-style flags) — confirms the quota lives in pict-rs, not Lemmy |
| 2026-10-21 | join-lemmy.org/docs/administration/configuration.html | pict-rs is a separate service; 'Generate thumbnails for external post urls and store them persistently in pict-rs. This also increases storage usage.' |
More fields (2)
{
"verdict_note": "PLAN.md §3.2 rules fails-quota by default, because no row in this set clears 500 GiB per unit for a user.",
"dead_end": {
"failure_class": "quota",
"why": "No per-user quota in Lemmy's own schema — the bound is pict-rs (the separate Rust image server) and the instance's disk. Upload is gated per-instance by the `image_upload` / `image_mode` local-site flag rather than by bytes.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (5)
$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.per_object_cap.notesnot-extracted$.retention.notesnot-extracted$.retention.statednot-extracted