Headless Web UI for MSSHβ : browser SSH/SFTP client plus catalog Sync API. This is the Linux cmd/server binary packaged as ellermister/mssh-server.
The database is SQLCipher-encrypted. GOSSH_DB_KEY is required on every start; losing the key means losing the data.
Image env defaults: GOSSH_LISTEN=0.0.0.0:8022, GOSSH_DB=/data/myssh.db.
docker run --rm -p 8022:8022 \
-e GOSSH_DB_KEY='your-db-key' \
-v mssh-data:/data \
ellermister/mssh-server:latest
Open http://<host>:8022. Browser login password defaults to the same value as GOSSH_DB_KEY unless you set GOSSH_UI_PASSWORD.
Named volume mssh-data is mounted at /data (encrypted SQLite). Keep the same key when you recreate the container.
docker run -d --name mssh-server --restart unless-stopped \
-p 8022:8022 \
-e GOSSH_DB_KEY='your-db-key' \
-v /mnt/user/appdata/mssh-server:/data \
ellermister/mssh-server:latest
docker run -d --name mssh-server --restart unless-stopped \
-p 8022:8022 \
-e GOSSH_DB_KEY='your-db-key' \
-e GOSSH_UI_PASSWORD='browser-login' \
-v mssh-data:/data \
ellermister/mssh-server:latest
TLS (PEM files must be visible inside the container):
docker run -d --name mssh-server --restart unless-stopped \
-p 8022:8022 \
-e GOSSH_DB_KEY='your-db-key' \
-v mssh-data:/data \
-v /path/to/certs:/certs:ro \
ellermister/mssh-server:latest \
-cert /certs/server.crt -cert-key /certs/server.key
Flags override env when both are set.
| Env | Flag | Default (image) | Meaning |
|---|---|---|---|
GOSSH_DB_KEY | -key | (required) | Database encryption key |
GOSSH_LISTEN | -listen | 0.0.0.0:8022 | Bind address |
GOSSH_DB | -db | /data/myssh.db | SQLite path |
GOSSH_UI_PASSWORD | -ui-password | empty β use key | Browser login password |
GOSSH_TLS_CERT | -cert | empty | TLS certificate PEM |
GOSSH_TLS_KEY | -cert-key | empty | TLS private key PEM |
Usage of server:
-cert string
TLS certificate PEM file
-cert-key string
TLS private key PEM file
-db string
SQLite database path (image default /data/myssh.db)
-key string
database encryption key (required)
-listen string
listen address host:port (default "0.0.0.0:8022")
-sync-api
enable catalog Sync API on this port (access token); a separate
sync port can still be started from the Web UI (default true)
-ui-password string
browser login password (defaults to --key if empty)
-sync-api=false turns off /api/v1/sync/* on this port. You can still start a dedicated sync listener in Settings β Sync Server. MCP (POST /api/v1/mcp) is mounted on the same HTTP server as Sync when that listener is up.
./mssh-server-linux-amd64 --listen 0.0.0.0:8022 --key 'your-db-key'
Without GOSSH_DB, the database is ~/.myssh/myssh.db.
Content type
Image
Digest
sha256:fcceab35dβ¦
Size
36.7 MB
Last updated
2 months ago
docker pull ellermister/mssh-server