---
title: "Deploy tailscale-vpn"
description: "Host personal VPN on Railway using Tailscale"
category: "Other"
url: https://railway.com/deploy/uIBpGp
---

# Deploy tailscale-vpn

Host personal VPN on Railway using Tailscale

**[Deploy tailscale-vpn on Railway](https://railway.com/template/uIBpGp)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/uIBpGp/manifest.json

- **Creator:** Andrew Bekhiet's Projects
- **Category:** Other
- **Total deploys:** 777

## Template content

### tailscale-vpn

- **Source:** https://github.com/Andrew-Bekhiet/railway_tailscale_vpn

## Documentation

# Railway Tailscale VPN

## Overview

Host personal VPN on Railway using Tailscale

[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/new/template/uIBpGp?referralCode=KgmRt8)

## How to setup

1. To get started, you should create an account on [tailscale](https://tailscale.com), if you already have an account skip to next step

2. Go to you tailscale admin console settings then to [keys](https://login.tailscale.com/admin/settings/keys)

3. Click on 'Generate auth key ...'

    ![admin_console_keys.png](https://github.com/Andrew-Bekhiet/railway_tailscale_vpn/raw/master/readme-screenshots/admin_console_keys.png)

4. Give you key a description then click 'Generate key' when you are finished

    ![generating_auth_key.png](https://github.com/Andrew-Bekhiet/railway_tailscale_vpn/raw/master/readme-screenshots/generating_auth_key.png)

    Remember to take a note of the key because you'll see it only once

5. Go to railway and paste in the key in TAILSCALE_AUTHKEY variable

6. Deploy!

7. Go to your tailscale machines and approve railway-app as an exit node

    ![approve_exit_node.png](https://github.com/Andrew-Bekhiet/railway_tailscale_vpn/raw/master/readme-screenshots/approve_exit_node.png)

8. Disable key expiry for the machine you just deployed

    ![disable_key_expiry.png](https://github.com/Andrew-Bekhiet/railway_tailscale_vpn/raw/master/readme-screenshots/disable_key_expiry.png)

9. Use this command to connect to your VPN

    ```sh
    tailscale up --exit-node railway-app # or replace railway-app with your hostname
    ```

## More Info

[Tailscale](https://tailscale.com/)

[Tailscale Exit nodes](https://tailscale.com/kb/1103/exit-nodes/)

[Using Tailscale Auth Keys](https://tailscale.com/kb/1085/auth-keys/)


## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/uIBpGp
