Imazho for self-hosters
Your bucket. Your hardware. Same clients.
Imazho can run against storage you own. Point it at any S3-compatible bucket — MinIO on a machine in your house, Cloudflare R2, whatever you already operate — and keep the same web, iOS and Android clients and the same client-side AES-256-GCM encryption.
Sound familiar?
Self-hosted photo libraries usually ask you to choose: a polished app that only works against someone else's cloud, or full control with an interface that reminds you it was built for the person who wrote it.
Encryption is the other gap. Plenty of self-hosted galleries store plaintext originals and assume the box is safe — which stops being true the moment the box is reachable from the internet.
What Imazho does about it.
Encryption doesn't change when you self-host
The client encrypts before upload either way. Self-hosting changes who holds the ciphertext, not whether it is ciphertext — so a compromised bucket still yields nothing readable.
S3-compatible, not S3-specific
MinIO, Cloudflare R2, Backblaze B2, Wasabi, or AWS itself. Storage is addressed through the S3 API, so the bucket is a configuration value rather than a rewrite.
The same clients you'd use anyway
Web, iOS and Android connect to your deployment. You are not trading the app away for control, and nothing about the interface announces that it is self-hosted.
Docker Compose to start
The repository ships a compose file with MinIO for local development, which is also a reasonable shape for a small home deployment. Convex handles the metadata layer.
Which plan
Start on Personal.
Self-hosting removes our storage costs, not the client and sync engineering. A hosted plan is still the simplest way to use the apps; the self-host path exists for people who want the data on their own disks.
Every plan starts with 30 days free and no card, and you can change plan whenever you like — changes are prorated.
200 GB · or $79 a year
- 200 GB encrypted storage
- Private search and People
- Verified photo migration
Fair questions.
What do I need to run it?
An S3-compatible bucket, a Convex deployment for metadata, and Node 22 or newer to build the web client. The repository's docker-compose.yml brings up MinIO for local work.
Do I still get plain-language search when self-hosting?
Yes, and it stays opt-in. AI indexing needs an OpenAI API key you supply; without one, search falls back to metadata, tags and full-text on your own descriptions.
Can I move from a hosted plan to my own bucket later?
Yes. Export your originals in full quality at any time and import them into your own deployment. Nothing about the format is proprietary to the hosted service.
Try it on your own photos.
30 days and 10 GB free, no card. Import as much as you like and see how it feels before you decide.
Start free — 30 days