An open API service indexing awesome lists of open source software.

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.

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)