synapse-s3-storage-provider
A storage provider which can fetch and store media in Amazon S3.
Decision gist · record as of 2026-08-14
Yes. This is an actively maintained, low-friction plugin for a specific and well-defined use case: offloading Synapse media storage to S3. It has no known vulnerabilities, permissive licensing, and stable dependencies. Install it if you run Synapse and want S3-backed media storage; skip it if you use local disk storage or a different homeserver.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Synapse must be installed and running; this is a plugin, not a standalone tool.
- AWS credentials must be configured (via environment, IAM role, or config file) for boto3.
License · maintenance · safety
permissive license (permissive) — Licensed under Apache License 2.0 (permissive). You can use, modify, and distribute this package freely in both open-source and commercial projects, with minimal restrictions.
last release 2026-05-13 (93 days) · last repo commit 2026-08-14 · 203 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 137,877 downloads/mo, #11,352 on PyPI
Alternatives
Verify before relying
pip install synapse-s3-storage-provider
# Add to synapse config (homeserver.yaml):
media_storage_providers:
- module: s3_storage_provider.S3StorageProviderBackend
store_local: True
store_remote: True
config:
bucket: your-bucket-name
region_name: us-east-1- Performance characteristics and throughput limits when handling large media volumes or concurrent uploads.
- Compatibility with specific versions of Synapse beyond the general requirement that it be installed.
- Whether the included s3_media_upload script supports incremental or resumable uploads for very large media stores.
What it is and what it does
This package is a Synapse storage provider plugin that redirects media storage and retrieval to Amazon S3 or S3-compatible object storage services. Instead of storing media files on local disk, Synapse can be configured to push media to S3 and fetch it on demand, enabling scalable, distributed media management for Matrix homeservers.
The plugin integrates with Synapse's media storage system via configuration in homeserver.yaml. It supports optional features like server-side encryption with customer-provided keys, configurable storage classes (e.g., STANDARD_IA for cost optimization), object prefixes for multi-tenant bucket sharing, and tunable thread pool sizes. It also includes a companion script (s3_media_upload) for asynchronous bulk uploads and cleanup of local media after archival to S3.
Use it for
- Run a Matrix homeserver with media stored on S3 instead of local disk, enabling horizontal scaling and shared storage across multiple server instances.
- Archive old media from a Synapse instance to S3 using the s3_media_upload script, then delete local copies to reclaim disk space.
- Use an S3-compatible service (MinIO, DigitalOcean Spaces, etc.) as a media backend when AWS S3 is not available or desired.
- Implement cost-effective media storage by configuring S3 storage classes like STANDARD_IA for infrequently accessed media.
- Share a single S3 bucket across multiple Synapse instances using the prefix configuration option.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
This is an actively maintained, low-friction plugin for a specific and well-defined use case: offloading Synapse media storage to S3. It has no known vulnerabilities, permissive licensing, and stable dependencies. Install it if you run Synapse and want S3-backed media storage; skip it if you use local disk storage or a different homeserver.
Install
synapse-s3-storage-provider on PyPI
Before you install
Low friction install with a pure-Python wheel. Actively maintained with a recent release; last commit was 2026-08-14. Depends on boto3, botocore, and several other stable libraries (Twisted, psycopg2, PyYAML, humanize, tqdm).
Requires Python 3.10 or later. Synapse must be installed and running; this is a plugin, not a standalone tool. AWS credentials must be configured (via environment, IAM role, or config file) for boto3.
License in practice
Licensed under Apache License 2.0 (permissive). You can use, modify, and distribute this package freely in both open-source and commercial projects, with minimal restrictions.
Quickstart
pip install synapse-s3-storage-provider
# Add to synapse config (homeserver.yaml):
media_storage_providers:
- module: s3_storage_provider.S3StorageProviderBackend
store_local: True
store_remote: True
config:
bucket: your-bucket-name
region_name: us-east-1
Verify before relying
- Performance characteristics and throughput limits when handling large media volumes or concurrent uploads.
- Compatibility with specific versions of Synapse beyond the general requirement that it be installed.
- Whether the included s3_media_upload script supports incremental or resumable uploads for very large media stores.
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release <4,>=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 7 packagesboto3botocorehumanizepsycopg2PyYAMLtqdmTwisted |
| Maintenance | Actively maintained 93 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 137,877 / month, #11,352 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3 |
Evidence: synapse_s3_storage_provider-1.6.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “synapse s3 storage”
- synapse-s3-storage-providerA Synapse media storage provider that integrates Amazon S3 (or…
- azure-synapse-accesscontrolProvides Python bindings to manage access control in Azure Synapse…
- azure-synapse-artifactsProvides Python client library for Azure Synapse Artifacts, enabling…
Give your agent the search over MCP, or paste the wish link into any chat.
More Internet packages
Botocore provides low-level, data-driven access to Amazon Web Services APIs, serving as the foundation for the AWS CLI and boto3 libraries.
Install it if you need programmatic access to AWS services.
Provides an async client for AWS services using botocore and aiohttp, allowing you to call AWS APIs asynchronously within asyncio-based applications.
Install it if you need to call AWS services from async Python code; it is the standard way to do so.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides a platform-independent file locking mechanism to coordinate access to files across processes and threads.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides common Protocol Buffer message definitions used across Google Cloud APIs, enabling Python clients to interact with Google services.
See also django-s3-storage · minio · matrix-synapse · git-remote-s3 · s3fs · s3path · fs-s3fs · s3torchconnectorclient · django-private-storage · amazon-sqs-extended-client