Files
backup-client/README.md
2025-08-26 17:43:55 +02:00

1.9 KiB

backup-client

A containerized SSH backup server built on Alpine Linux, designed to provide secure remote backup access using SSH/SFTP protocols.

Features

  • 🔐 Secure SSH Access: Automated SSH server setup with configurable authentication
  • 🐳 Docker Ready: Multi-architecture support (linux/amd64, linux/arm64)
  • 📦 BorgBackup Integration: Built-in backup solution support
  • ⚙️ Dynamic Configuration: Real-time SSH config monitoring and reloading
  • 🔄 CI/CD Pipeline: Automated builds via Drone CI

Quick Start

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

How it Works

The container automatically:

User Setup: Creates the backup user with configured credentials SSH Configuration: Generates host keys (Ed25519) if not present Server Start: Launches SSH daemon

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

Security Features 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

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

This project is open source. Please check the license file for details.