Fixie Koyeb

With Fixie static IP for Koyeb, your applications hosted on Koyeb can make outbound requests (HTTP, HTTPS, Database, TCP, and more) from a consistent set of static IP addresses. This integration is designed to be language- and framework-independent, ensuring broad compatibility across various development stacks.

Typically, Koyeb applications are given a dynamic range of IP addresses for outbound requests. This dynamic assignment can complicate interactions with external services that require a specific IP address range for security reasons, such as some APIs and corporate firewalls. To mitigate these challenges, Fixie offers both HTTP and SOCKS V5 proxies for your application's outbound traffic, supporting HTTP/S requests, and database connections. This enhancement ensures your application remains compliant with external services and firewalls that necessitate an IP allow-list.

Fixie's versatility extends across multiple backend languages, offering support for JavaScript, Ruby, Python, Java, Go, and PHP.

Getting Started

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

In order to minimize latency, please select the closest region to the one where your Koyeb app is already deployed.

To check the Koyeb region for your app, run the following Koyeb CLI command and see the value(s) under REGION column.

koyeb instances list

For example, fra region is Frankfurt, Germany and would correspond to Fixie's EU region. Learn more about Koyeb's regions here.

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 supported by Koyeb:

You also need to make sure Fixie credentials are accessible by your Koyeb app. We recommend against hardcoding the values in the source code and instead adding Proxy URL or HOST string to your Secrets. We do 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

Now using Koyeb CLI run the following command for HTTP/S proxy:

koyeb secret create FIXIE_URL --value "<SECRET_VALUE>"
koyeb app init <YOUR_APP_NAME> \
               ...
               --env "FIXIE_URL=@FIXIE_URL"

or the following command for our SOCKS proxy:

koyeb secret create FIXIE_SOCKS_HOST --value "<SECRET_VALUE>"
koyeb app init <YOUR_APP_NAME> \
               ...
               --env "FIXIE_SOCKS_HOST=@FIXIE_SOCKS_HOST"

Feel free to create different Fixie proxies for different environments (for example, development and production) to keep credentials and logs separate. For more information regarding managing environment variables for Koyeb, visit this documentation page.

The other way to integrate your application with Fixie is by using Fixie Socks proxy type and adding the fixie-wrench binary to your project. For more information, see the Koyeb example app for making a static IP request to a 3rd party API using Fixie.

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.

Having issues? Please reach out to our team here.