How to Deploy a Connector on Linux | Twingate

How to Deploy a Connector on Linux

Overview

Twingate Connectors can either be run in a Docker container or as a systemd service on the host.

Please see our Connector Best Practices overview for general recommendations as well as hardware recommendations.

Peer-to-peer connections help you to provide a better experience for your users and to stay within the Fair Use Policy for bandwidth consumption. Learn how to support peer-to-peer connections.

Docker Container Deployment

If you are running a Connector on a Linux host or VM, there are just two steps to follow to deploy a container-based Twingate Connector:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# Verify Docker is installed and running
sudo docker run hello-world

We only recommend installing Docker via the official distribution channel by following the instructions above. Different channels may have out-of-date versions of Docker that are not compatible with the Connector image requirements.

For Amazon Linux, we recommend following the Twingate Connector deployment instructions to deploy a pre-built AMI, which has the systemd Connector service pre-installed.

Systemd Service Deployment

Supported Distributions

For Linux distributions that we support, we test supported versions until they reach end of life (EOL). Currently, the following distributions are supported:

The Connector service may run on other Linux distributions, but we cannot offer support for additional distributions at this time.

First-time Installation

Installation of the systemd Connector service can be performed in a single command with the necessary environment variables set.

sudo systemctl status twingate-connector

Connector Configuration

You can find the Connector configuration file in /etc/twingate/connector.conf. The three environment variables in the run command above must be set in the configuration file in order for the Connector service to start and run.

Configuration and Management

Connector configuration can be found in /etc/twingate/connector.conf. For the Connector to run, three settings must be present with valid values. For example, if your Twingate account is autoco.twingate.com, your configuration file should look like this:

TWINGATE_NETWORK=https://autoco.twingate.com
TWINGATE_ACCESS_TOKEN=a948904f2f0f479b8f8197694b...
TWINGATE_REFRESH_TOKEN=b64064fece69a4edc7ff87f86f...

Connector token values can be generated in the Twingate Admin console by provisioning or re-provisioning a Connector.

Access and refresh tokens, which are required for Connector deployment, are specific to an individual Connector and cannot be shared between multiple Connectors.

The following standard commands can be run to manage the systemd Connector service:

# Connector status
sudo systemctl status twingate-connector

# Stop the Connector service
sudo systemctl stop twingate-connector

# Start the Connector service
sudo systemctl start twingate-connector

# Restart the Connector service (eg. for configuration file reload)
sudo systemctl restart twingate-connector

# Start the Connector service automatically at boot
sudo systemctl enable twingate-connector

# Stop the Connector service from starting automatically at boot
sudo systemctl disable twingate-connector

Updating the Connector

Update a systemd-based Connector manually with the Linux package manager, or automatically by setting up a scheduled task to check for updates. We recommend staggering updates across multiple Connectors to avoid downtime. For more details check our Systemd Connector Update Guide. If you choose to host your containers in Docker, please check our Docker Connector Update Guide.