a year ago
When using private networking between services, how do I determine the port the app is listening on if no PORT variable is set in the app config?
20 Replies
a year ago
The app is going to have to tell you.
a year ago
Usually you can either define their variable or look up their documentation to find what the default is
a year ago
Can I ask what service you're asking about?
It's an axum server I wrote myself, it will obey a port variable and I know Railway sets one, I just can't reference that value in another apps config without setting it myself
a year ago
Yeah. You'll have to set it. That's standard.
a year ago
Also I ❤️ axum
a year ago
Pretty sure 3000 is default
3000 would be default if following the axum tutorial that is true, but it states somewhere in the railway docs that railway will set a PORT variable for networking. I guess its intended for you to set it if you need the application running on a specific port
a year ago
Yeah, but in order to support that your app also has to be set up for it. Here's the "correct" way to do that in Rust:
let port: u16 = std::env::var("PORT")
.unwrap_or_else(|_| "3000".to_string())
.parse()
.expect("Failed to parse PORT");a year ago
awesomesauce
a year ago
you could use shared variables and expose the port variable?
Yeah, I've gone and done that now, it was just surprising to me that the automatically attached port variable is not exposed at all, only if the user explicitly set it
a year ago
Doesn't need to be a shared variable
a year ago
It can just be a service variable that you reference
Status changed to Solved brody • about 1 year ago
a year ago
!s
a year ago
!s