docs(containers): add Shell In A Box host service

Add shellinabox web-based terminal emulator running on port 4200,
accessible via https://shell.schweitz.net through NPM reverse proxy.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-12 17:55:10 +01:00
co-authored by Claude Opus 4.5
parent 27e7d9aff0
commit cd3cdad11c
+30 -2
View File
@@ -1,7 +1,7 @@
# Container Reference - tower-of-joy Infrastructure
> **Last Updated:** 2026-01-31
> **Total Services:** 34 containers across 21 stacks
> **Last Updated:** 2026-02-12
> **Total Services:** 35 containers across 21 stacks
> **System:** Intel i7-6700, RTX 2080 Ti (11GB VRAM), 64GB RAM, Zorin OS 16.3
---
@@ -40,6 +40,7 @@
| **Paperless-ngx** | 8091 | https://documents.schweitz.net | Internet | No | 8 | ✅ Running |
| **Penpot** | 9001 | https://penpot.schweitz.net | Internet (SSO) | No | 10 | ✅ Running |
| **ClamAV** | 3310 | N/A (host service) | No | No | - | ✅ Running |
| **Shell In A Box** | 4200 | https://shell.schweitz.net | Internet (host service) | No | - | ✅ Running |
| **AdGuard Home** | 53, 3053 | http://dns.schweitz.internal | LAN (DNS) | No | - | ✅ Running |
| **Tatlock UI** | 9999 | https://home.schweitz.net | Internet | No | - | ✅ Running |
@@ -51,6 +52,7 @@
- **auth.schweitz.net** → Authentik SSO
- **api.schweitz.net** → Core API
- **code.schweitz.net** → Code-Server (host service)
- **shell.schweitz.net** → Shell In A Box (host service)
- **amp.schweitz.net** → AMP Game Server
- **housekeeping.schweitz.net** → Home Assistant
- **documents.schweitz.net** → Paperless-ngx
@@ -287,6 +289,31 @@ Code-Server provides a browser-based Visual Studio Code IDE running directly on
---
### Shell In A Box
Shell In A Box is a web-based terminal emulator that provides secure shell access to the host system through a browser, enabling command-line administration from any device without requiring an SSH client. It runs as a lightweight systemd service on the host, exposing a terminal interface via HTTP that is secured externally through Nginx Proxy Manager with SSL encryption. The service provides a quick way to access the host shell for system administration, troubleshooting, and maintenance tasks when a full IDE like Code-Server is not needed.
| Property | Value |
|----------|-------|
| **Deployment Type** | Host-based systemd service (NOT containerized) |
| **Binary Location** | `/usr/bin/shellinaboxd` |
| **Service Name** | `shellinabox.service` |
| **Access URL (LAN)** | http://192.168.86.149:4200 |
| **Access URL (Public)** | https://shell.schweitz.net |
| **External Access** | Yes (via NPM reverse proxy with SSL) |
| **Port Binding** | 0.0.0.0:4200 (HTTP) |
| **User/Group** | `shellinabox:shellinabox` (daemon), login as any system user |
| **Restart Policy** | `on-failure` (systemd) |
| **Config Location** | `/etc/default/shellinabox` |
| **Resource Limits** | None (native host process) |
| **GPU Required** | No |
| **Dependencies** | NPM (reverse proxy) |
| **Authentication** | System login (PAM), SSL via NPM |
| **Typical Memory** | ~5-10MB |
| **Features** | Web-based terminal, color themes, multiple sessions, copy/paste support |
---
## Networking Layer
### Headscale
@@ -834,6 +861,7 @@ Gitea is a lightweight, self-hosted Git service providing repository hosting, is
| **Redis Shared** | redis-shared:6379 | No (internal) | Shared cache/session store |
| **NPM** | http://192.168.86.149:81 | Yes (admin) | Reverse proxy admin |
| **Code-Server** | https://code.schweitz.net | Yes | Browser-based IDE |
| **Shell In A Box** | https://shell.schweitz.net | Yes | Web-based terminal |
| **Ollama** | http://192.168.86.149:11434 | No | ML model API |
| **Headscale** | http://192.168.86.149:8085 | No | VPN control server |
| **Open WebUI** | https://webui.schweitz.net | Yes (SSO) | LLM chat interface |