Uploaded Content
This page contains notes on allowed content uploads to GoalStriving. This will likely become the most expensive resource constraint as we scale. Once we allow people to have a certain amount of disk space, taking it away (after they have used it) is nearly impossible.
Options
These are options to consider for storage.
- Centrally managed AWS S3 bucket for each user
- Users can manage their own AWS S3 bucket
- Users use their own Google Drive, OneDrive, Box.com as external repositories
Ease of Integration
For MediaWiki itself, storing uploaded files in S3 is already a known pattern. The MediaWiki AWS extension can store uploaded files in Amazon S3 instead of the local images/ directory, and MediaWiki’s upload documentation explicitly calls out alternate storage backends such as S3.
- Default: WikiFam-managed S3 storage
- Advanced option: user-owned S3 bucket
- Later integrations: Google Drive / OneDrive / Box as external repositories or linked content, not as transparent MediaWiki file storage
OneDrive, Google Drive, and Box are document-management APIs with OAuth, per-user permissions, sharing semantics, token refresh, rate limits, and different object models. They are feasible, but they are more integration work.
Cost of AWS S3
Storage Tier
- S3 Standard (the most expensive) is roughly $0.023 per GB-month for the first 50 TB
- S3 Intelligent-Tiering: after a few months, we can start to use this and it will save some money
Realistic Scenarios
- We offer 10GB per user
- If we have 1,000 users and each are using half of their storage, we would only be paying $115 per month in storage.