Skip to main content

Storage configuration

GreekManage stores files (photos, documents, attachments) in object storage. Each org configures its own provider — typically MinIO (default), AWS S3, Cloudflare R2, or another S3-compatible service.

Open storage settings

Org → Settings → Storage.

The storage configuration card. The storage configuration card.

Pick a provider

ProviderProsCons
Platform default (managed)Zero setup; includedCost rolled into your subscription; no direct file access
AWS S3Mature, durable, integrationsPay AWS directly; more setup
Cloudflare R2No egress fees; simpleNewer; smaller ecosystem
MinIO (self-hosted)Full control; on-prem optionYou operate the cluster
Other S3-compatibleUse what you haveCompatibility varies

Configure AWS S3

You'll need:

  • A dedicated bucket
  • An IAM user with limited permissions on that bucket
  • Access key + secret

Steps:

  1. In AWS, create a bucket. Pick a region close to your members.
  2. Create an IAM user with this minimal policy on the bucket: s3:GetObject, s3:PutObject, s3:DeleteObject, s3:ListBucket.
  3. Save the access key ID and secret.
  4. In GreekManage: Org → Settings → Storage → Configure.
  5. Choose AWS S3.
  6. Enter:
    • Bucket name
    • Region
    • Access key ID
    • Secret access key
  7. Click Test connection. GreekManage uploads a tiny test file and reads it back. You'll see ✅ or an error.
  8. If ✅, click Save.

Configure another S3-compatible provider

Same steps, but you'll also enter:

  • Endpoint URL (e.g., https://r2.cloudflarestorage.com)
  • Force path style — usually toggled on for non-AWS

The Test connection step verifies your settings work before they go live.

Configure MinIO (self-hosted)

For orgs with on-prem requirements:

  1. Run a MinIO server reachable from the GreekManage backend.
  2. Create a bucket.
  3. Create access credentials.
  4. In GreekManage, choose MinIO and enter the endpoint, bucket, key, and secret.
  5. Test and save.

Migrating existing files

When you switch providers (e.g., default → AWS S3):

  1. Configure the new provider.
  2. Click Migrate files.
  3. GreekManage queues a background job that copies existing files from the old provider to the new one.
  4. Track progress in Settings → Storage → Migrations. You'll see pending → in progress → completed.
  5. After migration, old files are deleted from the previous provider (configurable).

Migrations of large libraries can take hours. The app remains usable; new uploads go to the new provider, and the system serves files from whichever location they live in until migration completes.

Storage caps and alerts

If your org has a storage cap (set by your subscription), GreekManage shows usage on this screen and warns you at 80% and 95%.

Set your own custom cap in Storage → Alerts — useful if you've sized your S3 bucket conservatively.

What's stored

  • Photos in albums
  • Document library uploads
  • Attachment files in Engage and Messages
  • Profile photos
  • Compliance evidence files

Database content (text, structured data) is stored separately in PostgreSQL — not in your S3 bucket.

Security

  • Files are stored with per-object access control — public files (e.g., chapter logos) are public; member content is presigned-URL-only.
  • All transfers use TLS.
  • Files at rest are encrypted by your provider (server-side encryption enabled by default).

Tips

  • Use a region close to your largest member base. Cuts upload latency dramatically.
  • Don't share bucket credentials. Create a dedicated IAM user just for GreekManage.
  • Test migrations on staging first if you're moving terabytes.