23 days 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?
0 Replies
23 days ago
The app is going to have to tell you.
23 days ago
Usually you can either define their variable or look up their documentation to find what the default is
23 days 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
23 days ago
Yeah. You'll have to set it. That's standard.
23 days ago
Also I ❤️ axum
23 days 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
23 days 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");
23 days ago
awesomesauce
23 days 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
23 days ago
Doesn't need to be a shared variable
23 days ago
It can just be a service variable that you reference
Status changed to Solved brody • 23 days ago
16 days ago
!s
12 days ago
!s