Fixie Deno Deploy
With Fixie static IP, your Deno Deploy functions can send any (HTTP, HTTPS, Database, TCP, and more) outbound requests from a fixed set of static IP addresses. Fixie for Deno Deploy is language- and framework-agnostic.
Deno Deploy runs your code across a distributed network of edge locations, spinning up a fresh isolate to handle each request rather than keeping one long-lived server around. Because any given request can be handled by a different isolate in a different region, it can also leave from a different outbound IP each time. This makes it difficult to integrate with external services, an API, a database, a corporate firewall, that only accept traffic from an allow-listed range. Fixie sits in front of your outbound traffic and gives you both HTTP and SOCKS V5 proxies, so requests leave from the same pair of IP addresses no matter which isolate or region handled the request.
Deno Deploy runs JavaScript and TypeScript, so Fixie's setup here uses our Deno and JavaScript documentation.
Unlike Heroku and Vercel where there are native integrations available, Deno Deploy 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 the languages most commonly used on Deno Deploy:
Store your Fixie credentials as a Deno Deploy environment variable rather than hardcoding them in source. To add one from the dashboard:
- Open your project and go to its Settings tab.
- Find the Environment Variables section and click its edit button to open the environment variables drawer.
- Click Add Environment Variable.
- Enter the name (e.g.
FIXIE_URL) and your Fixie proxy URL as the value. - Toggle the variable on as a secret, so its value is hidden in the dashboard and in CLI output after you save it.
- Select which context(s) the variable applies to (see below).
- Click Save.
We recommend the following naming conventions for Environment Variables so it's easier to follow along with our documentation:
FIXIE_URLfor your Fixie HTTP/S proxyFIXIE_SOCKS_HOSTfor your Fixie SOCKS proxy
Deno Deploy environment variables are scoped to a context. Select Production and/or Development (preview and branch URLs) for your Fixie variable — not Build, which is only available while your project is building and never reaches your running code, so it's not useful for a proxy credential. Point a different Fixie proxy at Production versus Development if you want separate credentials for production versus preview traffic — this also makes debugging easier, since you can tell at a glance from the proxy's own request logs whether traffic came from a production or a preview deployment, rather than digging through logs that mix both together.
If you'd rather manage variables from the terminal, the deno deploy CLI supports setting them directly:
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 them to a .env file and load it with deno run --env-file.
Keep sensitive configuration values, like credentials, out of source control. Exclude the
.envfile 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.
Is this guide useful?
Having issues? Please reach out to our team here.