Home / Storage
Panoramax — OSM-FR instance (panoramax.openstreetmap.fr)
panoramax.openstreetmap.frFederated crowdsourced street level imagery (open source, self hostable)storage/panoramax-osm-fr-instanceJSONcomparereport an errorprovider JSON
- Free allowance
- NO QUOTA ANYWHERE IN THE SERVER.
- Verdict
- ★ qualifiesusable as stated; the read path was probed
- Cost
- free tier
- Identity
- emailno card, no phone
- Binding limit
- noneno named constraint binds
- Evidence
- reported8 sources; a third party said so
- Freshness
- stale on 2026-11-05checked 2026-10-21 (inherited); stale on 2026-11-05
| Free tier | NO QUOTA ANYWHERE IN THE SERVER. There is no quota code, no quota column in the DB migrations, and no quota endpoint — because the feature does not exist. A contributor filed Feature Request #334 '(Feature Request) Disable uploads when less than X GB of storage is available', still Open 5 months later, precisely because an admin cannot cap anything. Storage is whatever the instance's disks hold: OSM-FR alone reports 22.7M pictures = 48.5 TB of originals + 22.5 TB of derivates. unit GB; metered on stored-bytes |
|---|
| Price | none stated |
|---|
| Identity | email email — but indirectly. /api/configuration on OSM-FR literally returns "registration_is_open": true and /api/auth/login 302s to openstreetmap.org/oauth2/authorize; the OSM signup form (/user/new) accepts user[email] + user[display_name] + password, no affiliation, no .edu, no review, email-confirm only. IGN instance uses its own Keycloak (panoramax.ign.fr/oauth/realms/geovisio).… |
|---|
| Egress | Unmetered and CDN-friendly: no auth on any GET, plain nginx serving, Accept-Ranges honored. Verified 206 Partial Content with Content-Range: bytes 0-1023/3336348 on a live HD original. |
|---|
| Per-object cap | not stated |
|---|
| Retention | not stated |
|---|
| Interface | rest, cli REST + OGC API Features + STAC 1.0 + STAC item-search. POST /api/upload_sets → POST /api/upload_sets/{id}/files → POST /api/upload_sets/{id}/complete. Bearer token from POST /api/auth/tokens/generate. |
|---|
| Tooling | panoramax_cli (v1.4.1, Windows/Linux binaries + Python lib) with upload, download, transfer, migration subcommands; Docker panoramax/api; JOSM/iD plugins; the CLI can also transfer sequences between instances, so one file can be replicated across the whole federation. |
|---|
| Composes with | Upload once → replicate to N instances with panoramax_cli transfer → each instance serves its own /images/<2/2/2/2>/<uuid>.jpg path → front the whole federation with Cloudflare. Since every picture is addressed by a stable UUID and every asset URL is in the STAC item's assets.hd.href, a proxy can rewrite to whichever instance is alive. |
|---|
| Reliability | Volunteer hardware with ZFS RAIDZ2 + daily remote snapshots; no SLA and no capacity guard, so an instance can silently fill and start 500ing on upload — that is the whole reason #334 exists. |
|---|
| Parsed numbers | |
|---|
Evidence 8
| date | source | what it proved |
|---|
| 2026-10-21 | panoramax.openstreetmap.fr/api/configuration | literal: {"auth":{"enabled":true,"registration_is_open":true,...},"geovisio_version":"2.15.1-22-gf754cc9"} |
| 2026-10-21 | panoramax.openstreetmap.fr/api | live STAC catalog, 2.15.1, links to /api/upload_sets, /api/users/ |
| 2026-10-21 | panoramax.openstreetmap.fr/images/20/1f/c2/ac/ddad-4381-b3eb | 200, Content-Length: 3336348, image/jpeg, no auth |
| 2026-10-21 | source not published | same URL with Range: bytes=0-1023 — HTTP/1.1 206 Partial Content, Content-Range: bytes 0-1023/3336348 |
| 2026-10-21 | gitlab.com/panoramax/server/api/-/work_items/334 | open feature request to add a storage floor; proves no quota mechanism exists |
| 2026-10-21 | forum.geocommuns.fr/t/storage-needs-for-a-panoramax-instance | 100M pictures across 10 instances, 1M 72MP pictures ≈ 9 TB originals, 360° tiling doubles it |
| 2026-10-21 | docs.panoramax.fr/backend/install/settings/ | FS_PERMANENT_URL = 'definitive storage of original, high-definition ... pictures'; derivates are only thumb/sd/tiles, i.e. the hd asset IS the original |
| 2026-10-21 | docs.panoramax.fr/cli/COMMANDS/ | part of the text of Tooling, above |
Unknown values 4
- 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