a month ago
I don't have the ability to file support tickets directly. You'll need to do that through Railway's support channels.
However, I can summarize what happened for your ticket:
Summary:
- Service listens on port 3000 internally
- Public networking requires target port 8080 (not 3000) for HTTP traffic to route correctly
- Setting port 3000 failed; port 8080 succeeded
This might be worth flagging to Railway support — the port mismatch between internal (3000) and public target (8080) is unusual and could indicate a configuration or documentation issue.
Pinned Solution
a month ago
If I'm not mistaken, PORT=8080 is auto injected at runtime.
This is not currently in the docs, which is why the agent is unable to provide precise answers on this.
You can either read process.env.PORT in your app (and set the domain target port to 8080), or hardcoding a port and overriding PORT with that value in the variables service tab.
7 Replies
a month ago
The target port on a domain maps incoming traffic to the specific internal port your app listens on, so this is expected behavior, not a bug. If you don't set a PORT variable, Railway provides one automatically and your app should listen on it via process.env.PORT. Alternatively, you can set the domain's target port to match whatever port your app listens on (e.g., 3000). See our port configuration docs and target ports docs for details.
Status changed to Awaiting User Response Railway • about 1 month ago
a month ago
I set the domain in the UI and in Dockerfile. Railway silently modified the app to 8080.
Status changed to Awaiting Railway Response Railway • about 1 month ago
Status changed to Open Railway • about 1 month ago
a month ago
The issue is probably not that the agent is broken. It likely only has Railway context plus whatever you included in the ticket. It does not automatically ingest your internal docs. The fix is to give it a source of truth it can actually inspect: a public doc link, repo link, minimal repro or pasted excerpt. Include the exact deployment path, commands, sanitized env setup, logs and the precise mismatch between expected and actual behavior.
a month ago
Hey itruvurt, thanks for taking a look.
I provided docs, complete dockerfile, and current setup. It was unable to deliver a solution. I even asked it to open a support ticket with the entire conversation, which is was not capable of doing.
a month ago
If I'm not mistaken, PORT=8080 is auto injected at runtime.
This is not currently in the docs, which is why the agent is unable to provide precise answers on this.
You can either read process.env.PORT in your app (and set the domain target port to 8080), or hardcoding a port and overriding PORT with that value in the variables service tab.
a month ago
Thank you, medim for the clear solution. Hopefully the documentation can be updated and agentic help improved.
Thank you, medim for the clear solution. Hopefully the documentation can be updated and agentic help improved.
a month ago
Yep, I will make the needed changes to the docs when I'm back on my computer!
Status changed to Solved medim • about 1 month ago