Fixie Railway

With Fixie static IP, your Railway applications can send any (HTTP, HTTPS, Database, TCP, and more) outbound requests from a fixed set of static IP addresses. Fixie for Railway is language- and framework-agnostic.

Railway services egress through a shared NAT by default, so the outbound IP address your app presents to the outside world isn't fixed and can change. Fixie gives your Railway service a fixed pair of IPs through HTTP and SOCKS V5 proxies, so outbound traffic is compatible with services and firewalls that require an IP allow-list.

Fixie can be used with any backend language, including JavaScript, Ruby, Python, Java, Go, and PHP.

Unlike Heroku and Vercel where there are native integrations available, Railway support needs to be added manually at this time.

Getting Started

To get started, create a Fixie account, and create a new Proxy Application.

After the proxy is created, go to Proxy's Details page where you'll see a couple of important values:

  • Proxy URL: Your Fixie HTTP/S or SOCKS proxy URL that includes your username, password and proxy server load-balancer to use.
  • Outbound IPs: Your pair of Fixie IP-addresses. These will never change, so feel free to allow-list them with firewalls or services.

Configure Your Application

Next, update your application to use your Fixie proxy server. We have documentation for many popular languages Railway builds natively:

You also need to make sure Fixie credentials are accessible by your Railway service. We recommend against hardcoding the values in the source code and instead adding your Proxy URL to your service's Variables tab. We recommend the following naming conventions for Environment Variables so it's easier to follow along with our documentation:

  • FIXIE_URL for your Fixie HTTP/S proxy
  • FIXIE_SOCKS_HOST for your Fixie SOCKS proxy

If more than one service in your project needs the same Fixie proxy, add the variable once and expose it to other services as a Shared Variable or a Reference Variable, rather than copying the value into each service individually.

If you'd rather manage variables from the terminal, the Railway CLI supports setting them directly:

railway variable set FIXIE_URL=<YOUR_PROXY_URL> --service <YOUR_SERVICE_NAME>

Feel free to create different Fixie proxies for different environments (for example, development and production) to keep credentials and logs separate.

Local setup

To use Fixie locally, replicate the FIXIE_URL and/or FIXIE_SOCKS_HOST environment variables in your local environment. For example, you can add it to .env file locally.

Keep sensitive configuration values, like credentials, out of source control. Exclude the .env file in Git with: echo '.env' >> .gitignore.

Changing plans

Use the Fixie dashboard to change your plan. To change the plan, click Change Plan button and select an appropriate plan.

NOTE: Changing the plan won't affect your outbound IP address

Deleting a proxy

To remove the proxies, go to the Fixie dashboard and select Delete for the desired proxy.

Related static IP guides

Step-by-step guides for routing outbound traffic from Railway through a static IP:

See the full list of static IP guides for every supported language, platform, and destination.

Is this guide useful?

Having issues? Please reach out to our team here.