Deploy on Railway
One-click deploy — opens the pre-configured Openinary template
What’s included in the template
| Resource | Details |
|---|---|
| Openinary App | openinary/openinary Docker image |
| Assets Storage | Railway-managed S3 bucket, pre-connected |
| Persistent volume | Mounted at /app/data (database + API keys) |
Deployment steps
Open the template
Click the Deploy on Railway card above. Sign in or create a Railway account if prompted.
Set BETTER_AUTH_SECRET
The template requires one variable: Paste the output into the BETTER_AUTH_SECRET field in the template form.
BETTER_AUTH_SECRET.Generate a secure value:Deploy
Click Deploy Now. Railway will provision the app and the S3 bucket, then start the container.Wait for both the Openinary App and Assets Storage services to show Deployed.
Set BETTER_AUTH_URL
Once deployed, Railway generates a public URL for your app (e.g. Then redeploy the service. This is required for auth callbacks to work correctly.
openinary-production.up.railway.app).Go to Openinary App → Settings → Variables and set:If you later add a custom domain, update
BETTER_AUTH_URL to match.Optional configuration
The Railway bucket is pre-connected — no storage variables needed. You can add optional variables under Openinary App → Settings → Variables:Troubleshooting
If deployment fails:- Check the build logs under Openinary App → Deployments
- Confirm
BETTER_AUTH_SECRETis at least 32 characters - Confirm
BETTER_AUTH_URLmatches your Railway public URL exactly (no trailing slash)
Next steps
Image Transformations
Resize, crop, and convert images with URL parameters.
Video Transformations
Resize, trim, and extract thumbnails from videos.