Private Networks (VPN)

Powered by Tailscale
Need to integrate with ERP systems, databases, or APIs hosted in-house or on restricted cloud infrastructure? Retrieve seamlessly connects to private servers that aren't exposed to the public internet through secure VPN technology powered by our partner, Tailscale.
๐ Why Private Networks?
- Security First - Keep sensitive systems private without exposing them to the public internet
- Enterprise Systems - Access on-premise ERP, OMS, databases, and custom applications
- Zero-Trust Architecture - Enterprise-grade encryption with Tailscale's proven security model
- Simple Setup - Connect in under 5 minutes without complex VPN configuration
- Cost Effective - Tailscale's free tier supports up to 100 devices
What is Tailscale?
Tailscale is a modern VPN built on WireGuardยฎ that creates secure point-to-point connections between your devices. Unlike traditional VPNs that route all traffic through a central server, Tailscale establishes direct encrypted connections between devices.
๐ Zero Configuration Networking
No port forwarding, firewall rules, or network expertise required. Tailscale handles NAT traversal automatically.
๐ Zero-Trust Security
Every connection is authenticated and encrypted. Your data never touches the public internet unencrypted.
โก High Performance
Built on WireGuard for minimal latency and maximum throughput. Direct peer-to-peer connections when possible.
๐ฐ Free Tier Available
Up to 100 devices for free. Perfect for small to medium businesses. View Tailscale pricing
How It Works
Retrieve uses Tailscale to create a secure connection between your dedicated integration server and your private network:
Install Tailscale
Install the Tailscale client on your private server or a machine that can access your private resources
Generate Auth Key
In your Tailscale account, generate a reusable auth key (we recommend 90-day expiration)
Connect Retrieve
Add your Tailscale auth key to Retrieve in the VPN settings
Secure Connection Established
Your Retrieve server joins your Tailscale network and can securely access your private resources
Integration Runs
Your workflows can now connect to private databases, APIs, and applications as if they were on the same network
Setup Guide
Prerequisites
- A Tailscale account (free for up to 100 devices)
- Access to the server/machine you want to connect to Retrieve
- Basic command-line knowledge (for installation)
Step 1: Install Tailscale on Your Private Server
Visit tailscale.com/download and follow the installation instructions for your operating system.
Linux Installation
curl -fsSL https://tailscale.com/install.sh | sh
# Follow the on-screen instructions to authenticateWindows Installation
Download the Tailscale Windows installer and run it. Follow the setup wizard.
macOS Installation
brew install tailscale
sudo tailscale upOr download from the Mac App Store.
Docker Installation
docker run -d \
--name=tailscale \
--restart=unless-stopped \
--network=host \
-v /var/lib/tailscale:/var/lib/tailscale \
tailscale/tailscale:latest \
tailscaled --state=/var/lib/tailscale/tailscaled.stateStep 2: Authenticate Tailscale
After installation, authenticate with your Tailscale account:
sudo tailscale up
# Opens browser for authenticationThis will open a browser window where you can log in to your Tailscale account and authorize the device.
Step 3: Generate an Auth Key
To connect Retrieve to your Tailscale network, you need to generate a reusable auth key:
- Log in to the Tailscale admin console
- Navigate to Settings โ Keys
- Click Generate auth key
- Configure the key settings:
- โ Reusable - Check this box (allows Retrieve to reconnect)
- โ Ephemeral - Optional (device is removed when it disconnects)
- โฐ Expiration - Set to 90 days (Retrieve will notify you before expiration)
- ๐ Description - e.g., "Retrieve Integration Server"
- Click Generate key and copy it
๐ก Auth Key Best Practices
- Use reusable keys so Retrieve can reconnect automatically
- Set expiration to 90 days for security
- Retrieve will notify you 7 days before expiration so you can regenerate
- Keep your auth keys secure - treat them like passwords
Step 4: Add Auth Key to Retrieve
In your Retrieve application:
- Navigate to Settings โ VPN
- Click Add Tailscale Connection
- Paste your auth key
- Click Connect
Retrieve will now join your Tailscale network and establish a secure connection to your private resources.
โ Connection Successful!
You can now use private IP addresses or hostnames in your integrations. For example:
mysql://10.0.0.5:3306/databasehttp://192.168.1.100/apipostgresql://private-server:5432/db
Step 5: Verify the Connection
To verify that Retrieve successfully joined your Tailscale network:
- Go to the Tailscale admin console โ Machines
- Look for a device named
retrieve-{your-app-id} - Check that it shows as "Connected"
- Note its Tailscale IP address (e.g.,
100.x.x.x)
Common Use Cases
Use Case 1: Private MySQL Database
Scenario: Your company's ERP system runs on a MySQL database in your office, not accessible from the internet.
Setup:
- Install Tailscale on the MySQL server (or a machine that can access it)
- Connect Retrieve to your Tailscale network
- Create integration using the MySQL server's private IP:
10.0.0.5:3306
{
"host": "10.0.0.5",
"port": 3306,
"database": "erp_database",
"user": "retrieve_user",
"password": "secure_password"
}Use Case 2: On-Premise REST API
Scenario: Custom ERP system exposes a REST API on your internal network at http://192.168.1.50/api
Setup:
- Install Tailscale on a server within your office network
- Connect Retrieve to Tailscale
- Configure integration to use the private API endpoint
// Use private API endpoint in integration
const response = await fetch('http://192.168.1.50/api/orders', {
headers: {
'Authorization': 'Bearer YOUR_TOKEN'
}
});
const orders = await response.json();Use Case 3: Port Forwarding for Restricted Servers
Scenario: You can't install Tailscale directly on your database server due to IT restrictions.
Solution: Use port forwarding from another machine on the same network:
- Install Tailscale on a separate machine (e.g., a Linux VM) that can access the database
- Set up port forwarding on that machine to proxy connections to the database
- Retrieve connects to the proxy machine via Tailscale
# On the proxy machine (has Tailscale installed)
# Forward local port 3306 to database server
ssh -L 3306:192.168.1.10:3306 -N -f user@localhost
# Retrieve connects to: 100.x.x.x:3306Now Retrieve can connect to 100.x.x.x:3306 (the proxy machine) which forwards to 192.168.1.10:3306 (the database).
Security Considerations
Tailscale Security Model
Tailscale implements a zero-trust network architecture:
- Device Authentication - Every device must authenticate with your Tailscale account
- End-to-End Encryption - All connections use WireGuard encryption (ChaCha20-Poly1305)
- No Central Server - Traffic flows directly between devices (peer-to-peer when possible)
- Access Control Lists - Define which devices can access which resources
- Audit Logs - See all connection attempts and network activity
Best Practices
Use ACLs to Restrict Access
Configure Tailscale ACLs to limit which devices can connect to your private servers. For example, only allow your Retrieve server to access specific ports.
Enable MagicDNS
MagicDNS provides automatic DNS for your Tailscale network, making it easier to use hostnames instead of IP addresses.
Rotate Auth Keys Regularly
Set auth key expiration to 90 days and rotate them regularly. Retrieve will notify you before expiration.
Monitor Connection Logs
Review the Tailscale audit logs regularly to monitor for suspicious activity.
Use Subnet Routing for Complex Networks
If you need to access multiple private subnets, use Tailscale subnet routing instead of installing Tailscale on every server.
Troubleshooting
Common Issues and Solutions
โ Issue: "Connection Refused" When Accessing Private Server
Possible Causes:
- Tailscale is not running on the private server
- Firewall blocking connections
- Wrong IP address or port
Solutions:
- Verify Tailscale is active:
tailscale status - Check firewall allows connections from Tailscale interface
- Verify the correct Tailscale IP in the admin console
- Test connection manually:
ping 100.x.x.xortelnet 100.x.x.x 3306
โ Issue: Retrieve Not Showing in Tailscale Admin
Possible Causes:
- Invalid auth key
- Auth key expired
- Connection failed during setup
Solutions:
- Generate a new auth key in Tailscale admin console
- Ensure "Reusable" is checked when generating the key
- Re-add the auth key in Retrieve VPN settings
- Check Retrieve logs for connection errors
โ Issue: Slow Connection Speed
Possible Causes:
- Traffic being relayed through Tailscale DERP servers
- Network congestion
- NAT traversal issues preventing direct connection
Solutions:
- Check if connection is direct or relayed:
tailscale status - Enable UPnP on your routers if possible
- Consider using subnet routing for better performance
- Contact Tailscale support for advanced troubleshooting
โ Issue: Auth Key Expiration Warning
What Happens:
Retrieve notifies you 7 days before your Tailscale auth key expires.
Solution:
- Generate a new auth key in Tailscale admin
- In Retrieve, go to Settings โ VPN
- Update the auth key
- Click Save to maintain uninterrupted connectivity
Advanced Configuration
Subnet Routing
Instead of installing Tailscale on every private server, you can configure one machine as a subnet router to expose entire networks:
# On the subnet router machine
sudo tailscale up --advertise-routes=192.168.1.0/24
# Approve in Tailscale admin console
# Now all devices on 192.168.1.0/24 are accessibleThis allows Retrieve to access all devices on the 192.168.1.0/24 network through a single Tailscale connection.
MagicDNS for Easy Hostname Access
Enable MagicDNS in your Tailscale settings to use hostnames instead of IP addresses:
- Go to Tailscale admin โ DNS
- Enable MagicDNS
- Devices are accessible by name:
mysql-serverinstead of100.x.x.x
{
"host": "mysql-server",
"port": 3306,
"database": "erp_database"
}Access Control Lists (ACLs)
Restrict which devices can access specific resources using Tailscale ACLs:
{
"acls": [
{
"action": "accept",
"src": ["tag:retrieve"],
"dst": ["tag:database:3306"]
}
],
"tagOwners": {
"tag:retrieve": ["your-email@company.com"],
"tag:database": ["your-email@company.com"]
}
}This ACL allows only the Retrieve server to access MySQL on port 3306.
Pricing & Limits
Tailscale offers generous free and paid plans. See Tailscale's pricing page for current details.
Tailscale Free
$0/month
- โ Up to 100 devices
- โ Unlimited users
- โ All core features
- โ Community support
Perfect for small to medium businesses
Tailscale Personal Pro
$6/user/month
- โ Everything in Free
- โ Device approval
- โ Custom DERP servers
- โ Priority support
Enhanced features for power users
Tailscale Business
$18/user/month
- โ Everything in Personal Pro
- โ User/device management
- โ SSO integration
- โ Advanced ACLs
- โ Audit logs
Enterprise-grade security and control
๐ก Retrieve + Tailscale Costs
For most Retrieve users, the Tailscale free tier is sufficient. You only need one Tailscale connection per Retrieve application (your dedicated integration server), plus Tailscale on your private servers.
Example: If you have 1 Retrieve server connecting to 3 private databases = 4 devices total = Free tier โ
Alternatives to Tailscale
While Retrieve officially partners with Tailscale, you can technically use other VPN solutions if needed:
Tailscale (Recommended)
โ Zero configuration โข โ Best performance โข โ Official support
WireGuard
Manual setup required โข High performance โข Open source
OpenVPN
Complex configuration โข Mature ecosystem โข Widely supported
ZeroTier
Similar to Tailscale โข Alternative option โข Different pricing model
However, we strongly recommend Tailscale for its ease of use, security, and performance. Our integration is optimized for Tailscale.
Learn More
How Tailscale Works
Deep dive into Tailscale's architecture and security model
โTailscale Knowledge Base
Comprehensive documentation for all Tailscale features
โTailscale Blog
Latest updates, tutorials, and networking insights
โTailscale Support
Get help directly from the Tailscale team
โNext Steps
- Integrations - Learn how to use private network connections in your integrations
- Architecture - Understand how VPN fits into Retrieve's infrastructure
- Quick Start - Configure your first integration with private network access