https://github.com/ajayos/ubuntu-tailscale-ssh-server
Dockerized Ubuntu SSH Server with Tailscale VPN, NGINX, Node.js, and Developer Tools Secure, containerized Ubuntu server with SSH (via Tailscale), preinstalled Node.js, PM2, Oh My Zsh, and essential development tools. Ideal for remote development and private networking setups.
https://github.com/ajayos/ubuntu-tailscale-ssh-server
devops docker nginx nodejs remote-access server ssh tailscale ubuntu vpn
Last synced: 11 months ago
JSON representation
Dockerized Ubuntu SSH Server with Tailscale VPN, NGINX, Node.js, and Developer Tools Secure, containerized Ubuntu server with SSH (via Tailscale), preinstalled Node.js, PM2, Oh My Zsh, and essential development tools. Ideal for remote development and private networking setups.
- Host: GitHub
- URL: https://github.com/ajayos/ubuntu-tailscale-ssh-server
- Owner: Ajayos
- License: mit
- Created: 2025-06-22T14:10:09.000Z (12 months ago)
- Default Branch: master
- Last Pushed: 2025-06-22T14:35:18.000Z (12 months ago)
- Last Synced: 2025-07-30T08:28:34.158Z (11 months ago)
- Topics: devops, docker, nginx, nodejs, remote-access, server, ssh, tailscale, ubuntu, vpn
- Language: Dockerfile
- Homepage:
- Size: 4.88 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ubuntu-tailscale-ssh-server
A secure, developer-ready **Ubuntu 22.04 Docker image** with **SSH access over Tailscale**, **NGINX**, **Node.js**, **PM2**, **Oh My Zsh**, and essential development tools.
> 🔐 **SSH is only accessible through your Tailscale network** for enhanced security.
---
## 📦 Docker Image
**Image:** `ajayos/ubuntu-tailscale-ssh-server`
Available on Docker Hub: https://hub.docker.com/r/ajayos/ubuntu-tailscale-ssh-server
---
## 🌐 Features
- Ubuntu 22.04 Base
- SSH Server (Tailscale network only)
- Tailscale VPN integration
- Node.js (Current)
- PM2 process manager
- NGINX web server
- Oh My Zsh shell
- Developer tools (curl, git, nano, python3, pip, etc.)
---
## ⚙️ Required Environment Variables
| Variable | Description |
|-------------------------|----------------------------------------------|
| `SSH_USERNAME` | SSH username (default: `aos`) |
| `SSH_PASSWORD` | SSH password (default: `aos@123`) |
| `TAILSCALE_HOSTNAME` | Unique hostname for the Tailscale node |
| `TAILSCALE_AUTHKEY` | **Tailscale Auth Key (Required)** |
| `TAILSCALE_ADDITIONAL_ARGS` | (Optional) Extra flags for `tailscale up` |
🔑 **Generate Auth Key:** https://login.tailscale.com/admin/settings/keys
## 📦 Docker Image
**Image:** `quay.io/ajayos/linux-ssh-tailscale`
Available on Quay.io: [https://quay.io/repository/ajayos/linux-ssh-tailscale](https://quay.io/repository/ajayos/linux-ssh-tailscale)
---
## 🚀 Quick Start
### 1️⃣ Pull the Docker Image
```bash
docker pull quay.io/ajayos/linux-ssh-tailscale
````
### 2️⃣ Run the Container
```bash
docker run -d \
--name linux-ssh-tailscale \
-e SSH_USERNAME=aos \
-e SSH_PASSWORD=aos@123 \
-e TAILSCALE_HOSTNAME=my-ssh-node \
-e TAILSCALE_AUTHKEY=tskey-auth-XXXXXXXXXXXXXXXXXXXX \
-p 80:80 \
quay.io/ajayos/linux-ssh-tailscale:latest
```
---
## ✅ Approve in Tailscale
After the container starts, **approve the device** (if required) at:
[https://login.tailscale.com/admin/machines](https://login.tailscale.com/admin/machines)
---
## 🔑 Connect to SSH (via Tailscale IP)
```bash
ssh aos@
```
> **Password:** `aos@123` (or your configured password)
---
## 🖥️ Final Setup (Inside SSH Session)
```bash
sudo /usr/local/bin/setup.sh
```
* Installs Node.js, PM2, Python3, pip, and other developer utilities.
---
## 📁 Project Structure
```
.
├── Dockerfile
├── setup.sh
├── LICENSE
└── README.md
```
---
## 📜 License
MIT License © 2025 [Ajay O S](https://github.com/ajayos)
---
## 💬 Feedback / Issues
Contributions welcome!
Open issues or submit PRs here → [https://github.com/ajayos/ubuntu-tailscale-ssh-server](https://github.com/ajayos/ubuntu-tailscale-ssh-server)