Home / Storage
Lemmy + pict-rs — per-instance image store, no per-user quota
join-lemmy.org/docs/administration/configuration.htmlFediverse lemmystorage/lemmy-pict-rs-per-instance-image-store-no-per-user-quotaJSONcomparereport an errorprovider JSON
- Free allowance
- No per-user quota in Lemmy's own schema — the bound is pict-rs (the separate Rust image server) and the instance's disk.
- Verdict
- fails: quotathe free allowance is too small to matter
- Cost
- free tier
- Identity
- institution?placeholder, not evidence; card unknown, phone unknown
- Binding limit
- per-object-capper-object-cap set by pict-rs (
max_file_size, commonly 40 MB - Evidence
- reported2 sources; a third party said so
- Freshness
- stale on 2026-11-05checked 2026-10-21 (inherited); stale on 2026-11-05
| 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 |
|---|
| Limits | - per-object-cap (binding) per-object-cap set by pict-rs (
max_file_size, commonly 40 MB source
per-object-cap set by pict-rs (max_file_size, commonly 40 MB); no per-user byte quota; per-instance disk. |
|---|
| Identity | institution (inferred, not read) not published |
|---|
| Egress | Free. |
|---|
| Per-object cap | per-object-cap set by pict-rs (max_file_size, commonly 40 MB (40000000 bytes) |
|---|
| Retention | not stated |
|---|
| 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. |
|---|
| Parsed numbers | - has-free-tier 1
- per-object-cap 40 MB
|
|---|
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 1
| 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 values 3
- per object cap notes: 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