Release v0.6.0

Add database-backed user management and password reset tooling.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
rabadjiyski committed 2026-10-23 19:21:52 +03:00
1 parent 5547e55149
commit c4a368d9f7
18 files changed
+1484 -154

No files matched your search

+10 -5
View File
@@ -26,7 +26,6 @@ Multi-connection SSH client that runs entirely in your browser with JWT authenti
```bash
docker run -d \
-p 8080:8080 \
-e WEBSSH_USERS=admin:admin \
-e MAX_UPLOAD_SIZE=100M \
--name webssh \
--restart unless-stopped \
@@ -34,14 +33,13 @@ docker run -d \
```
Then open http://localhost:8080 in your browser.
**Default credentials:** `admin` / `admin`
On first start, create the administrator account in the browser. Use a password with at least 12 characters.
### With Persistent Data & Auto-Lock
```bash
docker run -d \
-p 8080:8080 \
-v webssh_data:/data \
-e WEBSSH_USERS=user1:pass1,user2:pass2 \
-e JWT_SECRET=your-256-bit-secret-here \
-e MAX_UPLOAD_SIZE=500M \
-e RECORDING_ENABLED=true \
@@ -51,13 +49,19 @@ docker run -d \
danaildr/webssh:latest
```
For a one-time import of legacy accounts, optionally set `WEBSSH_USERS=user1:pass1,user2:pass2`.
The first imported user becomes an administrator, other accounts have the `user` role, and all
imported users must change their password at first login.
Administrators can create and delete users from the application.
To reset an account password in a running container, use `docker exec -it webssh password-reset`.
**Note:** Auto-lock and auto-disconnect settings are configured per connection in the connection settings modal.
## Environment Variables
| Variable | Description | Default | Required |
|----------|-------------|---------|----------|
| `WEBSSH_USERS` | Comma-separated user:pass pairs | `admin:admin` | No |
| `WEBSSH_USERS` | Optional one-time import of legacy user:pass pairs; imported accounts must change their passwords | None | No |
| `JWT_SECRET` | Secret for token signing | Auto-generated | Recommended |
| `MAX_UPLOAD_SIZE` | Max file upload (e.g., `10M`, `1G`) | `100M` | No |
| `RECORDING_ENABLED` | Enable session recording | `true` | No |
@@ -97,6 +101,7 @@ services:
ports:
- "8080:8080"
environment:
# Optional one-time import of legacy users:
- WEBSSH_USERS=user1:pass1,user2:pass2
- JWT_SECRET=your-secret-key-here
- MAX_UPLOAD_SIZE=100M
@@ -105,7 +110,7 @@ services:
## Security Notes
⚠️ **Important for Production:**
- **Change default credentials** - Set strong passwords via `WEBSSH_USERS`
- **Create strong user passwords** - The first user is created during setup; imported users are prompted to replace legacy passwords
- **Set a strong `JWT_SECRET`** - Use at least 32 random characters
- **Use HTTPS** - Configure reverse proxy with SSL/TLS (container handles HTTP internally)
- **SSH host keys** - Uses `AutoAddPolicy()` by default; configure strict host key checking for production