Synapse + synapse-s3-storage-provider, minimal extension image tracking upstream.
  • Python 88.5%
  • Dockerfile 11.5%
Find a file
Julian Lindner b12e7cf7f5
All checks were successful
Build and Push Synapse + S3 Image / build (push) Successful in 27s
ci: drop dual-push to ghcr.io (forge.oddie.app is sole image host)
2026-05-23 01:46:35 +00:00
.forgejo/workflows ci: drop dual-push to ghcr.io (forge.oddie.app is sole image host) 2026-05-23 01:46:35 +00:00
.github/workflows feat: cache R2 fetches into local media_store (cache-on-read) 2026-04-28 12:33:43 +08:00
Dockerfile feat: cache R2 fetches into local media_store (cache-on-read) 2026-04-28 12:33:43 +08:00
README.md Initial: Synapse + s3-storage-provider image with auto-build 2026-04-24 21:59:32 +08:00
s3_storage_provider.py feat: cache R2 fetches into local media_store (cache-on-read) 2026-04-28 12:33:43 +08:00

synapse-s3

Minimal extension of matrixdotorg/synapse that pre-installs synapse-s3-storage-provider, so Synapse's media_storage_providers config can use S3 directly without per-pod pip install at startup.

Used by the Kampong Social Matrix homeserver on the gruyere k8s cluster.

Image

ghcr.io/oddie-apps/synapse-s3:vX.Y.Z   # tracks upstream Synapse vX.Y.Z
ghcr.io/oddie-apps/synapse-s3:latest   # follows latest upstream stable

Build cadence

CI rebuilds on:

  • Push to main (Dockerfile changes)
  • Manual workflow_dispatch with synapse_version input
  • Weekly schedule (Mondays 06:00 UTC) — polls upstream for new releases

Why this exists

Upstream matrixdotorg/synapse doesn't bundle the s3 storage provider. The plugin lives in matrix-org/synapse-s3-storage-provider and is pip install-able. Building it into the runtime image is the standard pattern (alternatives: pip install at startup via init container, mount via PYTHONPATH overlay) and the cleanest for production.

Bumping

Renovate in the argocd repo will auto-detect new tags here and open a PR to bump the deployment image.