docs: 📝 add readme and docker label
CI / Build and Push (push) Successful in -7s

This commit is contained in:
2026-04-17 12:21:30 +01:00
parent 8d8e9c052d
commit 230a2e1c8b
2 changed files with 43 additions and 0 deletions
+1
View File
@@ -6,6 +6,7 @@ COPY frontend/ ./
RUN npm run build RUN npm run build
FROM python:3.14-slim FROM python:3.14-slim
LABEL org.opencontainers.image.vendor="JDB-NET"
WORKDIR /app WORKDIR /app
COPY requirements.txt . COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt RUN pip install --no-cache-dir -r requirements.txt
+42
View File
@@ -0,0 +1,42 @@
<div align="center">
<img src="https://assets.s3.jdbnet.co.uk/logo/200x200.png" alt="JDB-NET" width="200" />
# JDB-NET SSH
A modern, browser-based SSH workspace for managing remote access in one place.
</div>
JDB-NET SSH gives you a clean web interface for opening secure shell sessions, organising hosts, and transferring files over SFTP without juggling multiple desktop tools. It is built for day-to-day server access with a fast tabbed terminal experience, reusable connection identities, and straightforward navigation for both occasional and frequent use.
## Features
- Secure sign-in before accessing hosts and sessions
- Tabbed SSH terminal sessions for working on multiple servers at once
- Support for password and SSH key authentication (including passphrase-protected keys)
- Jump host support for reaching internal systems through bastion hosts
- Built-in SFTP browser with upload, download, rename, delete, and folder creation actions
- Searchable and organised host navigation to find connections quickly
- Connection history visibility to review recent activity and session duration
## Docker Compose
```yaml
services:
app:
image: cr.jdbnet.co.uk/public/ssh:latest
ports:
- "5000:5000"
environment:
GEVENT_MONKEY_PATCH: "1"
MYSQL_HOST: "<YOUR_MYSQL_HOST>"
MYSQL_DATABASE: "<YOUR_MYSQL_DATABASE>"
MYSQL_USER: "<YOUR_MYSQL_USER>"
MYSQL_PASSWORD: "<YOUR_MYSQL_PASSWORD>"
SESSION_COOKIE_SECURE: "true"
WEBAPP_USERNAME: "<YOUR_WEBAPP_USERNAME>"
WEBAPP_PASSWORD: "<YOUR_WEBAPP_PASSWORD>"
SECRET_KEY: "<YOUR_SECRET_KEY>"
CREDENTIALS_ENCRYPTION_KEY: "<YOUR_CREDENTIALS_ENCRYPTION_KEY>"
restart: unless-stopped
```