Do You Need to Deploy a Relay?
Not all users need to deploy their own relay servers. Infisical provides managed relay infrastructure in US/EU regions for Infisical Cloud users, which requires no setup or maintenance. You only need to deploy a relay if you:- Are self-hosting Infisical
- Have a dedicated enterprise instance of Infisical (managed by Infisical)
- Require closer geographic proximity to target resources than managed relays provide for lower latency and reduced network congestion when accessing resources through the relay
- Need full control over relay infrastructure and traffic routing
Deployment Steps
To successfully deploy an Infisical Relay for use, follow these steps in order.1
Provision a Machine Identity
Create a machine identity with the correct permissions to create and manage relays. This identity is used by the relay to authenticate with Infisical and should be provisioned in advance.
The relay supports several machine identity auth methods for authentication, as listed below. Choose the one that best fits your environment and set the corresponding environment variables when deploying the relay.
Universal Auth
Universal Auth
Simple and secure authentication using client ID and client secret.Environment Variables:
INFISICAL_AUTH_METHOD=universal-auth
INFISICAL_UNIVERSAL_AUTH_CLIENT_ID=<client-id>
INFISICAL_UNIVERSAL_AUTH_CLIENT_SECRET=<client-secret>
Token Auth
Token Auth
Direct authentication using a machine identity access token.Environment Variables:
INFISICAL_TOKEN=<token>
Native Kubernetes
Native Kubernetes
Authentication using Kubernetes service account tokens.Environment Variables:
INFISICAL_AUTH_METHOD=kubernetes
INFISICAL_MACHINE_IDENTITY_ID=<machine-identity-id>
Native AWS IAM
Native AWS IAM
Authentication using AWS IAM roles.Environment Variables:
INFISICAL_AUTH_METHOD=aws-iam
INFISICAL_MACHINE_IDENTITY_ID=<machine-identity-id>
Native GCP ID Token
Native GCP ID Token
Authentication using GCP identity tokens.Environment Variables:
INFISICAL_AUTH_METHOD=gcp-id-token
INFISICAL_MACHINE_IDENTITY_ID=<machine-identity-id>
GCP IAM
GCP IAM
Authentication using GCP service account keys.Environment Variables:
INFISICAL_AUTH_METHOD=gcp-iam
INFISICAL_MACHINE_IDENTITY_ID=<machine-identity-id>
INFISICAL_GCP_SERVICE_ACCOUNT_KEY_FILE_PATH=<path-to-key-file>
Native Azure
Native Azure
Authentication using Azure managed identity.Environment Variables:
INFISICAL_AUTH_METHOD=azure
INFISICAL_MACHINE_IDENTITY_ID=<machine-identity-id>
OIDC Auth
OIDC Auth
Authentication using OIDC identity tokens.Environment Variables:
INFISICAL_AUTH_METHOD=oidc-auth
INFISICAL_MACHINE_IDENTITY_ID=<machine-identity-id>
INFISICAL_JWT=<oidc-jwt>
JWT Auth
JWT Auth
Authentication using JWT tokens.Environment Variables:
INFISICAL_AUTH_METHOD=jwt-auth
INFISICAL_MACHINE_IDENTITY_ID=<machine-identity-id>
INFISICAL_JWT=<jwt>
2
Install the Infisical CLI
Install the Infisical CLI on the server where you plan to deploy the relay. The CLI is required for relay installation and management.See the CLI Installation Guide for instructions.This server must have a static IP address or DNS name to be identifiable by the Infisical platform.
3
Configure Network & Firewall
Ensure your network and firewall settings allow the server to accept inbound connections and make outbound connections:Inbound Connections Rules:
Outbound Connections Rules:
Protocol | Source | Port | Purpose |
---|---|---|---|
TCP | Gateways | 2222 | SSH reverse tunnel establishment |
TCP | Infisical instance host (US/EU, other) | 8443 | Platform-to-relay communication |
Protocol | Destination | Port | Purpose |
---|---|---|---|
TCP | Infisical instance host (US/EU, other) | 443 | API communication and certificate requests |
4
Select a Deployment Method
The Infisical CLI is used to install and start the relay in your chosen environment. The CLI provides commands for both production and development scenarios, and supports a variety of options/flags to configure your deployment.To view all available flags and equivalent environment variables for relay deployment, see the Relay CLI Command Reference.
For production deployments on Linux servers, install the Relay as a systemd service. This installation method only supports Token Auth at the moment.Once you have a Token Auth token, set the following environment variables for relay authentication:
The systemd install command requires a Linux operating system with root/sudo privileges.
Frequently Asked Questions
Can the relay servers decrypt traffic going through them?
Can the relay servers decrypt traffic going through them?
No, relay servers cannot decrypt any traffic passing through them due to end-to-end encryption:
- Client-to-Gateway mTLS (via TLS-pinned tunnel): Clients connect via a proxy that establishes a TLS-pinned tunnel to the gateway; mTLS between the client and gateway is negotiated inside this tunnel, encrypting all application traffic
- SSH tunnel encryption: The mTLS-encrypted traffic is then transmitted through SSH reverse tunnels to relay servers
- Double encryption: Traffic is encrypted twice - once by client mTLS and again by SSH tunnels
- Relay only routes traffic: The relay server only routes the doubly-encrypted traffic without access to either encryption layer
What are the benefits of deploying my own relay?
What are the benefits of deploying my own relay?
Deploying your own relay provides several advantages:
- Dedicated resources: Full control over relay infrastructure and performance
- Lower latency: Deploy closer to your gateways for optimal performance
- Compliance: Meet specific data routing and compliance requirements
- Custom network policies: Implement organization-specific network configurations
- Geographic proximity: Reduce network congestion and improve response times to access resources
- High availability: Deploy multiple relays for redundancy and load distribution
How do I troubleshoot connectivity issues?
How do I troubleshoot connectivity issues?
For detailed troubleshooting:Platform cannot connect to relay:
- Check firewall rules allow inbound TCP with TLS on port 8443
- Test connectivity:
openssl s_client -connect <relay-ip>:8443
What happens if my relay server goes down?
What happens if my relay server goes down?
Relay server outages affect gateway connectivity:
- Gateway reconnection: Gateways will automatically attempt to reconnect when the relay comes back online
- Service interruption: While the relay is down, the Infisical platform cannot reach gateways through that relay. As a result, any secrets or resources accessed via those gateways will be temporarily unavailable until connectivity is restored.
- Multiple relays: Deploy multiple relay servers for redundancy and high availability
- Automatic restart: Use systemd or container orchestration to automatically restart failed relay services