TODO¶
Object-store (S3) consumer integration — roles not yet wired¶
SeaweedFS is the shared S3 object store. A role becomes a consumer by declaring a
seaweedfs service in meta/services.yml, wiring its app config from
lookup('objstore', application_id, ...) (bucket / access_key / secret_key / url /
region), and shipping a gated files/playwright/test-seaweedfs.js. See
web-app-mastodon, web-app-pixelfed, and web-app-nextcloud for the reference
pattern. SeaweedFS S3 requires path-style addressing and the internal http://
endpoint.
The roles below are database-backed and their upstream app can store objects in S3, so the integration is fundamentally possible but not yet implemented. Roles whose upstream has no S3 backend, or whose S3 client is incompatible with SeaweedFS path-style, are listed at the end.
Possible via an upstream plugin/extension¶
Role |
Mechanism (verify exact upstream keys before wiring) |
|---|---|
|
|
|
media-offload plugin (e.g. WP Offload Media) |
|
|
|
S3 |
|
frappe S3 backups + file storage |
|
S3 storage plugin |
Possible — upstream S3 support still to confirm¶
Role |
Note |
|---|---|
|
Atlassian DC attachment store on S3 (edition/version dependent) |
|
Atlassian DC attachment store on S3 (edition/version dependent) |
|
confirm upstream S3 file-storage support |
|
confirm upstream S3 attachment support |
|
confirm upstream storage-provider S3 support |
|
confirm S3 attachment store support |
Blocked — possible only with a provider-side change¶
Role |
Blocker |
|---|---|
|
Discourse’s |
Not currently possible¶
Role |
Reason |
|---|---|
|
Open-source pretix has no S3/object-store backend (local |
Roles with no object-store surface at all (e.g. web-app-keycloak, web-app-matomo,
web-app-pgadmin, web-app-phpmyadmin, web-app-yourls, web-app-stalwart) keep their
# nocheck: seaweedfs-required exemption and are intentionally excluded.