Exposing Minio API & Browser
I've setup a minio instance using the railway template and am trying to find a way to expose both the webapp and the API to the public internet so I can use minio from my other Railway projects. I've looked through the docs (see https://docs.railway.app/deploy/exposing-your-app) and cannot for the life of me find a way to expose both services simultaneously.
The minio API is on port 9000, and the minio webapp is on port 9090. Railway seems to only let you expose one port/service via the PORT environment variable. The template set
PORT=9090
meaning the webapp is the only thing exposed by default.
Is my only option here to swap that port out for the API port (9000) and lose access to the web admin?
Ideally I'd have the option to setup separate domains for each port exposed or just expose more that 80/443.
I guess I could also setup an NGINX proxy in the project to do the routing manually as a work around but I was hoping Railway would be able to handle that for me.Solution:Jump to solution
^ This is correct. You can expose the minio bucket and API by generating a service domain for the bucket service. You might also need to specify the PORT variable (9000) on that service too so that Railway knows what port to expose through the domain
9 Replies
Project ID:
b787ce85-5f59-49dc-9b95-cfeb07584687
Project ID: b787ce85-5f59-49dc-9b95-cfeb07584687
Just found this post on the roadmap/feedback site:
https://feedback.railway.app/feature-requests/p/expose-multiple-ports
Expose Multiple Ports | Feature Requests | Railway
Allow exposing multiple ports
assuming that means that there is indeed no way to expose multiple ports
correct, there is no current way to expose multiple ports of one service at the moment, but i will flag the team so that they could give you some advice on what your options could be as i have not played around with minio
Thank you!
https://railway.app/template/SMKOEA is this the template you're using?
That template separates the console (web UI) and the bucket (server). I'm not familiar w/ minio but I think you should be able to expose those two services independently, on different URLs
Solution
^ This is correct. You can expose the minio bucket and API by generating a service domain for the bucket service. You might also need to specify the PORT variable (9000) on that service too so that Railway knows what port to expose through the domain
Sweet! Thank you!
I ended up using NGINX and serving the console under a
/minio
location! Might refactor to just expose them under separate subdomains though!