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:
1 parent
5547e55149
commit
c4a368d9f7
18 files changed
+1484
-154
No files matched your search
+10
-5
@@ -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
|
||||
|
||||
Reference in new issue
Block a user