
Deploy Safebucket
Secure self-hosted file sharing with MFA, sharing links, and audit trail.
Just deployed
Safebucket
Just deployed
Just deployed
Safebucket
Secure, self-hosted file sharing: buckets, sharing with people inside and outside your team, MFA, trash retention, and an audit trail — behind your own domain.
What you get
- Safebucket — the app (API + web UI) on a public domain
- Postgres 17 — the database, on a volume with daily backups
- MinIO — S3-compatible file storage, on a volume with daily backups; your browser uploads and downloads files directly against it with presigned URLs
Setup
Fill in exactly two fields at deploy time:
- Admin email — your login
- Admin password — pick something strong; you can enable MFA after logging in
Everything else (session signing key, MFA encryption key, database and storage passwords) is generated fresh for your deployment. When the deploy finishes, open the Safebucket service's URL and log in.
Notes
- Invite/share emails are written to files inside the container by default (not sent). To send real email, set
NOTIFIER__TYPE=smtpand addNOTIFIER__SMTP__HOST,__PORT,__USERNAME,__PASSWORD,__SENDER,__TLS_MODEon the Safebucket service. - The audit trail is stored on the container filesystem and resets on redeploys. Point
ACTIVITY__TYPE=lokiat a Loki service for a persistent trail. - Single-instance by design (in-memory cache and queue). Add Valkey (
CACHE__TYPE=valkey) and NATS JetStream (EVENTS__TYPE=jetstream) before scaling out.
Template source and companion storage image: https://github.com/hmseeb/safebucket-railway
Template Content
Safebucket
ghcr.io/safebucket/safebucket:latestAPP__ADMIN_EMAIL
The email address for the first admin account. You log in with this after the deploy finishes.
APP__ADMIN_PASSWORD
The password for the first admin account. Pick something strong; you can enable MFA after logging in.