Object Storage: Tell us what you need

timomeh
EMPLOYEE

2 months ago

We've heard you: many of you have asked for Object Storage on Railway.

We're now exploring adding object storage, and we'd love your input before we build.

- What would you use object storage for on Railway?

- How do you handle it today, and what frustrates you about that process? What do you like about it?

- What features matter most to you? (e.g. S3 API, versioning, TTL/lifecycle, public vs private files, CDN)

Open to any other thoughts, ideas and input you have!

Under Review

0 Threads mention this feature

44 Replies

2 months ago

I’d definitely use object storage on Railway for user-generated content and media assets (images, docs, videos, backups). Today I usually wire up S3 or Cloudflare R2 alongside Railway deployments, which works but adds extra complexity in setup, permissions, and networking. It feels like a step outside the otherwise smooth Railway developer workflow.

The features that matter most for me:

  • S3-compatible API so it’s easy to plug into existing SDKs

  • Support for multipart uploads to handle large files reliably

  • Granular access controls (public, private, signed URLs)

  • Lifecycle policies for things like auto-expiry

  • CDN edge delivery baked in for global performance

What I’d love is the "Railway way" of making it feel native: one-click provisioning, easy environment variable injection, and clear observability (storage used, bandwidth, request counts). That’d save me from juggling multiple dashboards and credentials.


2 months ago

Amazing!

For me, being compatible with aws-sdk is the most important thing, being able to just change the endpoint like when using CF R2 and everything working as intended without extensive refactoring.


mathu97
PRO

2 months ago

For us:
- S3 compatible API
- Signed URLs
- CDN


2 months ago

Wow, this would be awesome! Something price competitive with Interserver or Backblaze B2. Primary use would be for backing up my home server. Secondary reason would be what @yo mentioned above. I was building an app that needed to store user uploaded images. Tried a few different solutions on Railway, but nothing that I liked due to the lack of object storage.


evhaus
PRO

2 months ago

The brutal reality is that if it doesn't compete on price with S3 itself it will be tough to justify making the move. There's very little "feature wise" that I think I would need and just having the excellent Railway UX polish on it will probably not be good enough to justify any significant cost overhead.


2 months ago

I imagine a new 'service' that's a single bucket, same credentials tab as databases

  • Match S3 prices (get as close as possible to R2)

  • S3 compatibility (again, can use R2 as a baseline)

  • A way to configure how much GBs to keep cached (similar to how one can limit a service's cpu/mem)

  • A way to configure which regions should keep the cache or replicate the entire bucket


yo

I’d definitely use object storage on Railway for user-generated content and media assets (images, docs, videos, backups). Today I usually wire up S3 or Cloudflare R2 alongside Railway deployments, which works but adds extra complexity in setup, permissions, and networking. It feels like a step outside the otherwise smooth Railway developer workflow.The features that matter most for me:S3-compatible API so it’s easy to plug into existing SDKsSupport for multipart uploads to handle large files reliablyGranular access controls (public, private, signed URLs)Lifecycle policies for things like auto-expiryCDN edge delivery baked in for global performanceWhat I’d love is the "Railway way" of making it feel native: one-click provisioning, easy environment variable injection, and clear observability (storage used, bandwidth, request counts). That’d save me from juggling multiple dashboards and credentials.

timomeh
EMPLOYEE

2 months ago

Granular access controls (public, private)

Are you specifically referring to public and private files within the same bucket? Or just in general the ability to have public and private files? If within the same bucket, could you give an example where it's necessary for you?


espensgr
PRO

2 months ago

Maybe take a look at Garage, could be a good fit, maybe able to use replicas to scale it too.

I would like a S3 compatible system, with cdn edge caching, user keys for buckets.

We would use it for S3 storage for media, pictures and picture transforms served via global CDN for CMS’s.


milestonetech
PRO

2 months ago

S3 API compat, CDN cache...SIMPLICITY...good UI/UX for managing it inline in the Railway environment (custom domain overlays (and internal endpoints like you've done elsewhere), simple default permissions rather than having to force everything to be "publicly viewable" if you have to manage it in the UI environment) and file management functions.

People are quite simply leaving AWS etc for layer 2 cloud solutions like Railway, Vercel etc because AWS has become so insanely cumbersome to manage all of the integrations, layers and layers of permissions, 50 steps to do basic things...take the time to really focus on the developer experience so we dont end up with just another AWS "feature sprawl" situation...and you'll be great!


drivenbyvalues
HOBBY

2 months ago

I want to enable my hobby project to store images, documents, short videos that requires S3. I tried integrating with S3 compatible library. Would love to have something similar to database where is it is easy to setup, has standard s3 compatible interface and reasonably prized based on storage. Thanks for considering this feature. Definitely there is a need.


rtwalz
PRO

2 months ago

I would only care about price being better than DO or CF.


lchin21
HOBBY

2 months ago

It would have to be better than S3 and/or R2.

Someone above said signed URLs, which I agree with.

Additionally, the pricing would at least have to be competitive.


osamaqarem
FREE

a month ago

thinking about a photo gallery app, I'd love

  • File versioning, so I can edit and restore unedited versions of a photo

  • Events, so I can mirror the object state in my DB

  • A way to tell if the version of the file I have locally is the same one in storage, helpful when syncing to multiple devices

  • Batch create signed URLs (private photo gallery)

  • No egress fees


a month ago

I would care about:

- S3 compatibility
- Versioning
- Compatible with Cloudflare
- R2-esque TTL/lifecycle


joggienl
HOBBY

a month ago

I would love this! I tried Minio on Railway (is that technically even allowed for production use?) but a "native" way to get object storage would be great!

  • S3 compatibility

  • Encryption

  • Versioning

  • Locking

  • Retention

The api compatibility and encryption possibility would be my personal selling point. Encryption is underrated to be able to save more sensitive data when a project asks for it. It would be nice to have a railway-provided-key (bucket encryption) or SSE-C (bring your own key, which is harder imo).


joggienl

I would love this! I tried Minio on Railway (is that technically even allowed for production use?) but a "native" way to get object storage would be great!S3 compatibilityEncryptionVersioningLockingRetentionThe api compatibility and encryption possibility would be my personal selling point. Encryption is underrated to be able to save more sensitive data when a project asks for it. It would be nice to have a railway-provided-key (bucket encryption) or SSE-C (bring your own key, which is harder imo).

timomeh
EMPLOYEE

a month ago

is that technically even allowed for production use?

Of course it is


rtwalz

I would only care about price being better than DO or CF.

timomeh
EMPLOYEE

a month ago

price being better than DO or CF

Interesting comparison, DigitalOcean and Cloudflare have 2 different pricing models. Which one do you prefer?


lchin21

It would have to be better than S3 and/or R2.Someone above said signed URLs, which I agree with.Additionally, the pricing would at least have to be competitive.

timomeh
EMPLOYEE

a month ago

What specifically would you like to see better compared to S3 and R2? Would be interesting to hear what you dislike or find annoying about those existing offerings.


timomeh

is that technically even allowed for production use?Of course it is

joggienl
HOBBY

a month ago

appologies, I did not use proper wording I suppose, I was referreing to the Minio license itself. I believe you need a specific license for it to run it for actual production usage but I have not checked that any further


timomeh

What specifically would you like to see better compared to S3 and R2? Would be interesting to hear what you dislike or find annoying about those existing offerings.

pepijn
PRO

a month ago

Most annoying with R2 is that either it is public or private, you cannot control access per object.


flyingcroissant
HOBBY

a month ago

Consider support for conditional requests (especially writes) based on ETag and/or modification date/time (eg. only perform the request if the object still matches the provided ETag).


a month ago

Just want to mention that there will be S3 compatibility, that is guaranteed.


a month ago

That’s epic @brody! Multipart upload support would be amazing, along with presigned URLs.

These two are most used by me across all my projects.


timomeh

price being better than DO or CFInteresting comparison, DigitalOcean and Cloudflare have 2 different pricing models. Which one do you prefer?

rtwalz
PRO

a month ago

For certain things, one can be better than the other. DO does not charge for API calls, while CF does. CF does not charge for bandwidth, while DO does. So bandwidth-intense, small number of files, I go with CF. If I have large number of files and little bandwidth, DO wins.


yashko
PRO

a month ago

- What would you use object storage for on Railway?

Right now I have to store number of static assets (HTML, images) and there is no easy way for me to do it via Railway.

- How do you handle it today, and what frustrates you about that process? What do you like about it?

What I currently use is AWS S3 + AWS amplify which allow me to drag-n-drop my files into S3 and make them available in less than 5 minutes.

What I don't like is that I have to do a lot of click-ops here and there to upload files for the first time/update them later. There is a way to automate it but I'm okay doing it manually for my case.

- What features matter most to you? (e.g. S3 API, versioning, TTL/lifecycle, public vs private files, CDN)

Easy way to host static assets.

For me personally S3 API and TTL/lifecycle matter less than having CDN and versioning


benisenstein
PRO

a month ago

Hi Railway team and thanks for you hard work!

In addition to all of the wonderful features mentioned by the folks in this thread, I would really love to see a local-first approach that allows us to build with Railway storage locally. I would like to see railway storage packaged up as a docker image so we can build storage features into our apps and test locally. DX is not to be dismissed as a key factor for adoption here.

From a more high-level perspective, I believe you would be wise to stick to your primitives of "services, with volumes" that took you to another level with databases. I remember when databases were changed from a specific offering into templates on top of the "services and volumes" primitives. It was awe-inspiring reading the blogs from those days in late 2022. And part of what I love so much about Railway is that I can work local-first, building my applications in monorepos, with or without Docker, and trust that they'll run in the Railway environment very similarly to how they run on my machine. And in order to achieve that experience building apps with S3-compatible storage, we'll need to run the storage service locally.

And I believe for that reason, the Functions primitive is just a fun novelty item, or an easy cloud-only tool to do a bit of scripting, but not a truly powerful technology like what you've done so far with "services and volumes". It all comes down to that, and the sophistication of your control plane, DNS, build layer, scheduler, scaling of replicas, how you're managing machines in the data centers --- you guys are eminent wizards of this stuff and I'm constantly ecstatic to be participating in your platform.

Anyway, just food for thought, consider developing your object storage in a way that hooks into your platform infrastructure modularly, can be packaged up in a docker image, and let us run it as just another template with a volume mounted. AND get the fees competitive Love your work and thanks again!


pedroapfilho
PRO

a month ago

TBH, the only thing that is missing on my side is a GUI, or a script, for the migration


aditya-devalalikar
HOBBY

25 days ago

Are there any official documentation for accessing images from the bucket for public viewing? The buckets are private by default, and it is recommended to deploy a public proxy. Does it support the presigned URL mechanism for public access? Are there any detailed or thorough docs available on this?


aditya-devalalikar

Are there any official documentation for accessing images from the bucket for public viewing? The buckets are private by default, and it is recommended to deploy a public proxy. Does it support the presigned URL mechanism for public access? Are there any detailed or thorough docs available on this?

timomeh
EMPLOYEE

24 days ago

Docs will be coming in the future before we GA buckets. Presigned URLs are supported. For public access without a presigned URL, you can use a public proxy like imgproxy (which has S3 support) or https://railway.com/deploy/s3-proxy. Template support for Buckets will also be coming to make deploying these usecases even easier.


knollfear
HOBBY

24 days ago

I made a POC so I could understand how this all works. https://github.com/knollfear/ImageUploader. I am able to deploy this to railway direct from github and it appears to handle the uploading directly to the bucket via a signed URL and a POST request. It can also displaying the image with a signed URL.


ajaykarthikr
PRO

22 days ago

Right it's difficult to find from where to create a bucket. Ideally would be better have that option in the create modal itself.


ajaykarthikr

Right it's difficult to find from where to create a bucket. Ideally would be better have that option in the create modal itself.

timomeh
EMPLOYEE

21 days ago

We'll add it to the create modal and the command palette latest when Buckets go into GA


19 days ago

I'm looking forward to this being GA so I can make some templates for fully contained projects! I'd love to be able to have a file system-type view to see what files are in the bucket from the project canvas. Similar to how I can see what's in a database in a table, it would be great to know what's in the bucket at any given time. This includes the ability to delete files as well.

I've seen a few mentions about a CDN, so I'll cast another vote for that. It would really put everything I need in one project and simplify future workflows while minimizing complexity.


thejufo
FREE

16 days ago

  1. S3 compatibility

  2. CDN


evhaus

The brutal reality is that if it doesn't compete on price with S3 itself it will be tough to justify making the move. There's very little "feature wise" that I think I would need and just having the excellent Railway UX polish on it will probably not be good enough to justify any significant cost overhead.

version3034
FREETop 10% Contributor

14 days ago

Not everyone is concerned about price, price, price.

For applications and sites that are big users of storage - 100% absolutely it plays a major role.

However, for less resource intensive apps. Many people want just a one click, application where everything is all under one roof, fast and works.

Railway likely will never compete with AWS or Cloudflare unless they make that a major mission to offer that service functionality and all the growing pains that would come with it.

But for the average DEV builder, they will likely just want something that offers backups , is one click deploy, has a CDN functionality and common framework stacks. If it costs 5-10 cents more, they are likely not going to care that much.


version3034

Not everyone is concerned about price, price, price. For applications and sites that are big users of storage - 100% absolutely it plays a major role. However, for less resource intensive apps. Many people want just a one click, application where everything is all under one roof, fast and works. Railway likely will never compete with AWS or Cloudflare unless they make that a major mission to offer that service functionality and all the growing pains that would come with it.But for the average DEV builder, they will likely just want something that offers backups , is one click deploy, has a CDN functionality and common framework stacks. If it costs 5-10 cents more, they are likely not going to care that much.

tsurg
HOBBY

5 days ago

Yeah, it seems like the hobby users are concerned about price


prodoxx
PRO

2 days ago

I was going to move from Cloudflare R2 to Railway's Object Storage but I need some of my files to be publicly accessible. What I liked about Cloudflare R2 is that there is no ingress cost for that and the users can load files directly from Cloudflare. From the blog post in Railway I read that if I want to make the files publicly accessible, I have to add a public proxy to load the files. My concern is that this public proxy might incur ingress and bandwidth cost.

Can you please help me clarify these?


prodoxx

I was going to move from Cloudflare R2 to Railway's Object Storage but I need some of my files to be publicly accessible. What I liked about Cloudflare R2 is that there is no ingress cost for that and the users can load files directly from Cloudflare. From the blog post in Railway I read that if I want to make the files publicly accessible, I have to add a public proxy to load the files. My concern is that this public proxy might incur ingress and bandwidth cost. Can you please help me clarify these?

timomeh
EMPLOYEE

a day ago

I assume you mean egress, not ingress. When you add a proxy service to make files public, you have to pay for the public network egress of the proxy service, yes. You could consider adding a CDN cache in front of your proxy service (for example Cloudflare's free CDN cache), to reduce egress cost by having more cache hits.


timomeh

I assume you mean egress, not ingress. When you add a proxy service to make files public, you have to pay for the public network egress of the proxy service, yes. You could consider adding a CDN cache in front of your proxy service (for example Cloudflare's free CDN cache), to reduce egress cost by having more cache hits.

prodoxx
PRO

a day ago

Sorry, I meant egress. I'm using Cloudflare R2 right now which provides free egress + CDN for my object storage. Can you please help understand what benefits I'll have in moving my files from Cloudflare R2 to Railway's Object Storage besides the fact that they will be in the same network? Sorry, for the noob questions.


prodoxx

Sorry, I meant egress. I'm using Cloudflare R2 right now which provides free egress + CDN for my object storage. Can you please help understand what benefits I'll have in moving my files from Cloudflare R2 to Railway's Object Storage besides the fact that they will be in the same network? Sorry, for the noob questions.

timomeh
EMPLOYEE

a day ago

It's about allowing you to ship faster, for example: you can use bucket credentials as service variables instead of copy-pasting them from Cloudflare's dashboard; we automatically create a separate bucket and credentials per environment; you don't have to add your credit card to another provider and configure yet another usage limit.


timomeh

It's about allowing you to ship faster, for example: you can use bucket credentials as service variables instead of copy-pasting them from Cloudflare's dashboard; we automatically create a separate bucket and credentials per environment; you don't have to add your credit card to another provider and configure yet another usage limit.

aditya-devalalikar
HOBBY

a day ago

Could you please confirm if there are any upcoming pricing plans for storage buckets, and what potential charges (such as storage size, read/write operations, or data transfer) we should expect?


aditya-devalalikar

Could you please confirm if there are any upcoming pricing plans for storage buckets, and what potential charges (such as storage size, read/write operations, or data transfer) we should expect?

timomeh
EMPLOYEE

a day ago

Adding pricing for buckets is planned for this quarter, and we'll announce the pricing once we made a final decision what it will be. I know that pricing is an important consideration to make before moving to Railway's buckets for your production projects.


bramsuurdje
HOBBY

3 hours ago

Is it true that buckets with S3 support is already a thing? Maybe I'm missing something here but when I'm in a project I'm able to create a bucket. but not when i click on create in the top right.


bramsuurdje

Is it true that buckets with S3 support is already a thing? Maybe I'm missing something here but when I'm in a project I'm able to create a bucket. but not when i click on create in the top right.

timomeh
EMPLOYEE

2 hours ago

Yes, you're right. S3 Buckets are already a thing. Right now you can only create a bucket in the context menu when you right-click on the project canvas. They are right now not visible in the Command Palette or the "+ Create" button. But we'll finish the work on it this quarter