Replace MinIO with an alternative S3-compatible storage for local development
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
Rechercherichtung
Start by reviewing docker-compose.yml and the current S3 integration, then compare Garage and LocalStack against the listed GET, PUT, DELETE, and LIST needs. Test the selected alternative with boto3 and django-storages, including local media uploads. Done means docker-compose.yml, CLAUDE.md, README, and any MinIO references use the chosen solution and local development remains compatible with production S3.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Problem
MinIO has entered maintenance mode and is no longer actively developed for the open-source community. The MinIO team is now focusing on a commercial, paid version.
Reference: https://github.com/minio/minio/commit/27742d469462e1561c776f88ca7a1f26816d69e2
This means that for local development, we should migrate away from MinIO to ensure we have a well-maintained and actively supported S3-compatible storage solution.
Current Usage
MinIO is currently used in our docker-compose.yml for local S3-compatible object storage during development. This allows developers to test S3 integration locally without needing AWS credentials.
Proposed Alternatives
1. Garage (Recommended to investigate first)
Website: https://garagehq.deuxfleurs.fr/
GitHub: https://git.deuxfleurs.fr/Deuxfleurs/garage
Pros:
- Lightweight and designed for self-hosting
- S3-compatible API
- Active development by Deuxfleurs
- Open-source (AGPL-3.0)
- Good documentation
Cons:
- Smaller community compared to MinIO
- Need to evaluate maturity and stability
2. LocalStack
Website: https://localstack.cloud/
GitHub: https://github.com/localstack/localstack
Pros:
- Very popular for local AWS development
- Emulates multiple AWS services (not just S3)
- Well-documented
- Large community
- Actively maintained
Cons:
- More heavyweight (emulates many AWS services we don't need)
- Some advanced features require a paid license
- May be overkill if we only need S3
3. Other Options to Consider
- MinIO fork: Check if there's an active community fork
- AWS S3 LocalStack: Use only the S3 component of LocalStack
- SeaweedFS: Another distributed storage system with S3 compatibility
- Ceph with RGW: More complex but enterprise-grade
Tasks
- Research and compare Garage vs LocalStack for our specific use case
- Test chosen alternative with our current S3 integration
- Update
docker-compose.ymlto use the new solution - Update development documentation (CLAUDE.md, README)
- Test that media uploads work correctly in local development
- Ensure compatibility with production S3 usage (boto3, django-storages)
Additional Context
Our production setup uses AWS S3 with boto3 and django-storages. The local development alternative must be compatible with the same boto3 S3 API to ensure consistency between development and production environments.
Files to update:
docker-compose.ymlCLAUDE.md(development setup instructions)- Any scripts or documentation referencing MinIO
Questions
- Do we need any S3 features beyond basic object storage (GET, PUT, DELETE, LIST)?
- Are there any MinIO-specific configurations we're using that need equivalent support?
- Should we prioritize lightweight (Garage) or feature-complete (LocalStack)?
- Vorherrschende Sprache
- Python
- Sterne
- 17
- Forks
- 27
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus PythonIreland/website
-
PSF Grant -Urgent Offen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 15/100
PythonIreland/website#205 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 25/100
PythonIreland/website#204 ·
-
dependencies enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 52/100
PythonIreland/website#187 ·
-
dependencies enhancement
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
PythonIreland/website#184 · 8 Kommentare ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 38/100
PythonIreland/website#171 ·
Alle Issues in PythonIreland/website
Ähnliche Issues
-
area: harness bug status: needs-triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Human-Agent-Society/reef#625 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 80/100
learningequality/kolibri#15351 · 2 Kommentare ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Name consistency Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
eellak/triplestore#65 · 1 Kommentar ·