Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 33 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,24 @@
<h1 align="center">Tailshell</h1>

<p align="center">
<strong>Your terminal, everywhere.</strong><br>
<b>Your terminal, everywhere.</b>
<br />
A persistent web terminal that follows you from desktop to phone to tablet.
<br />
Persistent sessions · multi-user auth · mobile-friendly · Tailscale-ready
</p>

<p align="center">
<img src="https://img.shields.io/badge/terminal-ttyd%20%2B%20tmux-2E8B57" alt="ttyd + tmux" />
<img src="https://img.shields.io/badge/deploy-Docker%20Compose-2496ED?logo=docker&logoColor=white" alt="Docker Compose" />
<img src="https://img.shields.io/badge/access-Tailscale-242424?logo=tailscale&logoColor=white" alt="Tailscale" />
<img src="https://img.shields.io/badge/license-GPL--3.0--only-blue" alt="License: GPL-3.0-only" />
</p>

---

## Overview

Tailshell wraps **ttyd** + **tmux** in a slick web UI with multi-user auth, workspaces, and quick prompts. Run it on your home server, access it from anywhere via Tailscale, and never lose a session again.

```
Expand All @@ -19,6 +31,8 @@ Browser ──> Nginx ──┬──> /api/* ──> API ──> MySQL
└──> /ws ──> ttyd ──> tmux ──> shell
```

---

## Why Tailshell?

- **Persistent sessions** — tmux keeps your work alive across disconnects
Expand All @@ -28,7 +42,9 @@ Browser ──> Nginx ──┬──> /api/* ──> API ──> MySQL
- **Mobile-friendly** — works great on phones and tablets
- **Tailscale-ready** — secure access from anywhere, no port forwarding

## Quick Start
---

## Quick start

```bash
# Clone and enter the repo
Expand All @@ -48,6 +64,8 @@ Open `http://localhost:8081/` and log in. First-time setup will prompt you to ch

> **Tip:** Set `TAILSHELL_ADMIN_USERNAME` and `TAILSHELL_ADMIN_PASSWORD` in `.env` before first run, or check `docker compose logs api` for the generated credentials.

---

## Development

Want to hack on Tailshell? Fire up the dev stack with hot reload:
Expand All @@ -57,6 +75,8 @@ bash ./scripts/dev-up # Start with Vite HMR + API watch
bash ./scripts/dev-down # Tear it down
```

---

## Documentation

The good stuff lives in [`docs/`](docs/README.md):
Expand All @@ -71,7 +91,16 @@ The good stuff lives in [`docs/`](docs/README.md):
| [Development](docs/DEVELOPMENT.md) | UI/API dev workflows |
| [Troubleshooting](docs/TROUBLESHOOTING.md) | Common issues and fixes |

---

## Contribute

Issues and PRs are welcome. See [`CONTRIBUTING.md`](CONTRIBUTING.md) for the development workflow, and [`SECURITY.md`](SECURITY.md) for reporting security issues privately.

---

## License

This project is licensed under the GNU GPLv3. See `LICENSE`.
See [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md) for third-party components and licenses.
Licensed under the **GNU General Public License v3.0** (`GPL-3.0-only`) — see [`LICENSE`](LICENSE) for the full text.

© 2026 VisorCraft LLC. Third-party components carry their own licenses — see [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md) and the [`LICENSES/`](LICENSES/) directory.