This repository demonstrates how to deploy the Twingate Zero Trust solution on the Render cloud. By using Twingate, you'll be able to directly access private resources that aren't exposed to the public web, such as Render Private Services or Render PostgreSQL instances.
This repository is not, as-is, intended to be used in production. It creates a couple of example services in order to allow you to explore what Twingate and Render can do. If you do want to deploy this into production, you'll want to use render-examples/twingate instead.
Twingate themselves have created an easy video walkthrough of deploying a Twingate connector into Render that's worth checking out if you'd like more information.
-
Log into your Twingate admin panel.
-
Create a network (Network > Remote Networks (right sidebar) > Add) to continue. In the "type" dropdown select "Other" and name it
Render
(or whatever is meaningful to you). -
Click Deploy Connector in the right sidebar to...deploy the connector!
- Select Docker, and leave other settings as default.
- Click Generate Tokens, which will prompt you to re-authenticate your Twingate account.
- You'll now have an
Access Token
and aRefresh Token
. Keep these handy.
-
Let's launch this into Render!
- You'll be asked to input a few things:
- Your Twingate account URL, e.g. https://renderexamples.twingate.com
- Your access token, from the above step
- Your refresh token, from the above step
- You'll be asked to input a few things:
-
Now, once this is live, you'll have a Twingate connector and two services. Connect to Twingate now by following the instructions in the Twingate docs.
-
In the Render dashboard, navigate to the
twingate-private-service
service in your dashboard.- Beneath the name of the service, you should see Service Address, which will be something like
twingate-private-service-a1b2:80
; click the Copy button next to this. - Open a new tab in your browser, type
http://
, and paste in the address.
- Beneath the name of the service, you should see Service Address, which will be something like
-
Similarly, you can connect to the Render PostgreSQL instance by navigating to the
twingate-postgres
service in your dashboard.- On the
twingate-postgres
page, under Connections, you'll find the Hostname for the PostgreSQL instance.
- On the
-
When you're done, make sure to tear down the resources created by this repo! We don't want you surprised by a bill. In order to deploy this into production for-reals, you'll want to fork this repository and replace
render.yaml
withrender.standalone.yaml
, which does not include a Render Private Service or a Render PostgreSQL instance.