{"id":"pg_dymwypw2mfda","property_id":"prp_vlhkwkfqvw6r","domain_id":"dom_8rouhwjxaucl","root_domain":"railway.com","locale":"en","url":"https://railway.com/deploy/openinary--openinary","url_hash":"c7413e6b2822f6f5d95cbe0c8215b097ef90d95d48e7eb59b4f45c6a66e7f223","path":"/deploy/openinary--openinary","depth":1,"canonical_url":"https://railway.com/deploy/openinary--openinary","canonical_page_id":null,"page_type":"other","page_type_guess":"other","state":"indexed","skip_reason":null,"priority":"0.9","discovered_via":"sitemap","first_seen_at":"2026-08-27T09:08:12.028Z","last_seen_at":"2026-08-27T09:08:12.028Z","http_status":200,"content_hash":"99dae1d58bff837f52649d066df09fdee8954e5ed3a650d206825e782b09ecd6","title":"Deploy & Host openinary | Railway","description":"Deploy and host openinary on Railway in one click — always-on servers, built-in databases, and GitHub auto-deploys. Self-hosted Cloudinary alternative. Image & video transforms via URL.","author":null,"published_at":"2026-02-25T16:47:20.683Z","modified_at":null,"word_count":343,"reading_time_sec":94,"lang_detected":"en","images":[],"links_out":null,"markdown_source":"readability","refresh_interval":"monthly","last_fetched_at":"2026-08-27T09:08:20.511Z","next_refresh_at":"2026-09-26T09:08:20.511Z","runs_count":1,"changes_count":0,"last_changed_at":null,"fail_count":0,"last_error":null,"created_at":"2026-08-27T09:08:12.028Z","updated_at":"2026-08-27T09:08:12.028Z","inlinks":0,"inlinks_body":0,"outlinks":28,"outlinks_external":4,"anchor_terms":[],"template_score":null,"cash":"0","cash_total":"0.05","pagerank":null,"is_orphan":true,"link_confirmed":true,"discovered_wave":0,"embedded_hash":"99dae1d58bff837f52649d066df09fdee8954e5ed3a650d206825e782b09ecd6","embedded_at":"2026-08-27T09:14:17.028Z","domain_name":"Railway","brand_color":"#17222f","domain_rank":494,"spam_score":6,"markdown":"![](https://openinary.dev/favicon.ico)\n\nSelf-hosted Cloudinary alternative. Image & video transforms via URL.\n\n[Deploy openinary](https://railway.com/new/template/openinary)\n\nJust deployed\n\n## Deploy and Host Openinary on Railway\n\n[Openinary](https://openinary.dev/) is a self-hosted, open-source media processing platform — the free alternative to Cloudinary. Transform images and videos on-the-fly using simple URL parameters, with built-in S3-compatible storage and an admin dashboard.\n\n### About Hosting Openinary\n\nOpeninary runs as a single Docker container that bundles Nginx, a Node.js API with FFmpeg for media processing, and a Next.js admin dashboard. It connects to any S3-compatible bucket (AWS S3, Cloudflare R2, Wasabi, MinIO, DigitalOcean Spaces) for persistent media storage. A Railway persistent volume at /app/data stores the SQLite database for admin accounts and API keys. No external database is required — just your S3 credentials and you're live.\n\n### Common Use Cases\n\n-   Replace Cloudinary in your app with a zero-cost-per-transformation media pipeline\n-   Serve optimized WebP/AVIF images and compressed videos from your own S3 bucket\n-   Build a media CDN for SaaS products that need image resizing and video thumbnails\n\n### Dependencies for Openinary Hosting\n\n-   **S3-compatible storage bucket** — AWS S3, Cloudflare R2, Wasabi, MinIO, or DigitalOcean Spaces\n-   **Railway Persistent Volume** — mounted at /app/data to persist the SQLite database across deploys\n\n#### Deployment Dependencies\n\n-   [Openinary Documentation](https://docs.openinary.dev/)\n-   [Openinary GitHub Repository](https://github.com/openinary/openinary)\n-   [S3-compatible Storage Setup Guide](https://docs.openinary.dev/)\n\n#### Implementation Details\n\nOnce deployed, Openinary exposes a URL-based transformation API:\n\n```\n# Resize image to 800×600, convert to WebP\nGET /t/w_800,h_600,f_webp,q_80/photo.jpg\n\n# Extract video thumbnail at 5 seconds\nGET /t/w_800,h_450,so_5,f_avif/video.mp4\n\n# Compress video for web\nGET /t/w_1280,h_720,q_75/video.mp4\n```\n\nVisit /setup after first deploy to create your admin account and generate API keys.\n\n### Why Deploy Openinary on Railway?\n\nRailway 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.\n\nBy deploying Openinary 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.\n\n* * *\n\nTemplate Content","storage":{"htmlKey":"stealpage/html/railway.com/pg_dymwypw2mfda/run_mlynzbvcdjkt.html.gz","markdownKey":"stealpage/md/railway.com/pg_dymwypw2mfda/run_mlynzbvcdjkt.md.gz"},"facets":{"page_id":"pg_dymwypw2mfda","domain_id":"dom_8rouhwjxaucl","root_domain":"railway.com","locale":"en","format":"comparison","depth":1,"technicality":4,"promotional":1,"originality":2,"audience":"developer","funnel_stage":"consideration","intent":"informational","evidence":"data","tone":"conversational","has_code":true,"code_langs":[],"has_data":false,"has_tables":false,"has_images":false,"has_video":false,"has_faq":true,"external_links":6,"heading_count":7,"topics":["observability","payments","cloud","devops"],"keywords":["self-hosted","Cloudinary","image transforms","video transforms","S3-compatible storage","Railway","Docker container","Node.js API","FFmpeg","Next.js admin dashboard"],"entities":{},"takeaways":["The page explains how to deploy Openinary, a self-hosted media processing platform, on Railway with detailed technical instructions.","It describes the architecture of Openinary, including its use of Docker, Nginx, Node.js, FFmpeg, and a Next.js admin dashboard.","The page outlines the requirements for deploying Openinary, such as an S3-compatible storage bucket and a Railway persistent volume.","It provides examples of URL-based transformations for images and videos, demonstrating how media can be processed on-the-fly.","The content emphasizes Railway's role as a platform for hosting infrastructure, making it easier to deploy and scale applications."],"summary":"This page provides technical instructions for deploying Openinary on Railway, a self-hosted media processing platform that offers image and video transformation capabilities via URL parameters.","ai_likelihood":"0.09","shelf_life":"evergreen","quality_score":"0.4257","fingerprint":"99dae1d58bff837f52649d066df09fdee8954e5ed3a650d206825e782b09ecd6","model":"qwen/qwen3-30b-a3b","classified_at":"2026-08-27T09:11:49.330Z","created_at":"2026-08-27T09:11:49.330Z","updated_at":"2026-08-27T09:11:49.330Z"},"assets":[{"kind":"image","src_url":"https://og.railway.com/api/image?AuthorImage=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F9682285%3Fv%3D4&AuthorName=Alex+Ramirez%27s+Projects&Category=CMS&Description=Self-hosted+Cloudinary+alternative.+Image+%26+video+transforms+via+URL.&TemplateImage=https%3A%2F%2Fopeninary.dev%2Ffavicon.ico&Title=openinary&fileType=png&layoutName=template","r2_key":null,"alt":null,"caption":null,"width":null,"height":null,"is_hero":true,"zone":"main"},{"kind":"image","src_url":"https://openinary.dev/favicon.ico","r2_key":null,"alt":"","caption":null,"width":null,"height":null,"is_hero":false,"zone":"main"},{"kind":"image","src_url":"https://libredesk.io/favicon.ico","r2_key":null,"alt":"","caption":null,"width":null,"height":null,"is_hero":false,"zone":"unknown"},{"kind":"image","src_url":"https://raw.githubusercontent.com/INAPP-Mobile/paperless-ngx-railway/master/template-icon.svg","r2_key":null,"alt":"","caption":null,"width":null,"height":null,"is_hero":false,"zone":"unknown"},{"kind":"image","src_url":"https://raw.githubusercontent.com/CoreBunch/Instatic/4a6d4403925db15977e0e5af2a1b8f720f07334a/public/favicon.svg","r2_key":null,"alt":"","caption":null,"width":null,"height":null,"is_hero":false,"zone":"unknown"}],"shots":[],"history":[{"id":"run_mlynzbvcdjkt","started_at":"2026-08-27T09:08:20.441Z","http_status":200,"fetcher":"direct","changed":false,"diff":null,"word_count":343}],"citedBy":[]}