Update README.md to enhance structure and clarity by adding headings and improving formatting for environment variables and project components
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
gyurix
2025-08-26 17:43:55 +02:00
parent 3fc500ce86
commit 15c43727dd

View File

@@ -14,22 +14,25 @@ A containerized SSH backup server built on Alpine Linux, designed to provide sec
```bash
docker run -p 20022:20022 -v /backup/data:/home/backup safebox/backup-client
```
Configuration
Environment Variables
Variable Default Description
SSH_PORT 20022 SSH server listening port
SSH_USER backup Backup user name
SSH_PASSWORD backup User password for authentication
## Configuration
### Environment Variables
How it Works
| Variable | Default | Description |
|--------------|---------|-------------------------------|
| SSH_PORT | 20022 | SSH server listening port |
| SSH_USER | backup | Backup user name |
| SSH_PASSWORD | backup | User password for authentication |
## How it Works
The container automatically:
User Setup: Creates the backup user with configured credentials
SSH Configuration: Generates host keys (RSA and Ed25519) if not present
Server Start: Launches SSH daemon with SFTP support
SSH Configuration: Generates host keys (Ed25519) if not present
Server Start: Launches SSH daemon
Key Components
## Key Components
Dockerfile: Alpine-based image with OpenSSH, su-exec, and BorgBackup
start_backup.sh: Main entrypoint script handling SSH setup
.drone.yml: CI/CD pipeline for multi-architecture builds
@@ -39,16 +42,12 @@ Host Key Persistence: SSH host keys are generated once and persisted
Configurable Authentication: Supports both password and public key authentication
User Isolation: Runs SSH daemon as non-root user
Development
Building Locally
Testing
CI/CD
The project uses Drone CI for automated builds:
## Development
Development builds: Push to registry.dev.format.hu/backup-client
Release builds: Tag events push to safebox/backup-client on DockerHub
Multi-architecture: Supports both AMD64 and ARM64 platforms
License
## License
This project is open source. Please check the license file for details.