
Deploy Photoflow
System for manging photo distribution at events
photo-flow
Just deployed
Just deployed
/var/lib/postgresql/data
Bucket
Bucket
Just deployed
Deploy and Host PhotoFlow Prime on Railway
PhotoFlow Prime is a tool for managing the flow of photos at an event. It provides complete tooling for uploading photos, searching and filtering them, organizing them into collections, and publishing — across multiple clients and events from a single instance.
About Hosting PhotoFlow Prime
The system is built on PostgreSQL and S3-compatible object storage for metadata and image storage. Photographers upload during a live event while a media team browses, filters, and publishes in real time. "Prime" adds multi-client support: one instance serves many clients, each owning many events, with per-client admins and role-based access. Anthropic's Claude can optionally be added for AI analysis of images (captions and people detection), and Resend can optionally be added to send password-reset emails. This template provisions the app and a Postgres database together and applies database migrations automatically on first boot.
Common Use Cases
- Event photo management — live upload, filtering, and review during coverage
- Distributing photos to clients — publish/export with naming templates, managing multiple clients from one instance
- Post-event archives — export a self-contained, offline-browsable ZIP of an event
Dependencies for PhotoFlow Prime Hosting
- PostgreSQL database (provisioned by this template)
- S3-compatible object storage for images — the bundled MinIO volume, or your own AWS S3 / Cloudflare R2 / Backblaze B2 bucket
- (Optional) An Anthropic API key for AI image analysis
- (Optional) A Resend API key for password-reset emails
Deployment Dependencies
- PhotoFlow source & Dockerfile — https://github.com/sterno/photo-flow
- Anthropic Console (optional, AI captions) — https://console.anthropic.com
- Resend (optional, password-reset email) — https://resend.com
- Storage providers (optional, in place of bundled MinIO) — Cloudflare R2 (https://developers.cloudflare.com/r2/), AWS S3 (https://aws.amazon.com/s3/), Backblaze B2 (https://www.backblaze.com/cloud-storage)
Implementation Details
- Builds from the included
Dockerfile;railway.jsonselects the Dockerfile builder and a/api/system/statushealthcheck. - The container entrypoint runs
prisma migrate deployon every boot and, whenADMIN_USERNAMEandADMIN_PASSWORDare set, idempotently seeds the first admin plus a default client and event. - Key environment variables:
DATABASE_URL— reference the Postgres service, e.g.${{Postgres.DATABASE_URL}}AUTH_SECRET(andNEXTAUTH_SECRET, same value) —openssl rand -base64 32NEXTAUTH_URL/APP_URL— the app's public URLADMIN_USERNAME(defaultadmin) andADMIN_PASSWORD(12+ characters, required)- Storage —
AWS_REGION,AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,AWS_S3_BUCKET,S3_ENDPOINT(plusS3_PUBLIC_ENDPOINTwhen browsers reach storage on a different host, as with bundled MinIO) - Optional —
ANTHROPIC_API_KEY,RESEND_API_KEY,RESEND_FROM_EMAIL
Why Deploy PhotoFlow Prime on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying PhotoFlow Prime on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
photo-flow
sterno/photo-flowADMIN_PASSWORD
Password for the first admin account — at least 12 characters.
Bucket
Bucket
