chmod +x Mount-Storage-Box.shsudo ./Mount-Storage-Box.sh- Create GitHub repository named
Hetzner-Shells - Upload
Mount-Storage-Box.shtoStorage/folder - Users run:
curl -fsSL https://raw.githubusercontent.com/Automations-Project/Hetzner-Shells/main/Storage/Mount-Storage-Box.sh | sudo bash- Upload script to your web server
- Users run:
curl -fsSL https://your-domain.com/Mount-Storage-Box.sh | sudo bash- Run the web deployment script:
chmod +x deploy-web.sh
./deploy-web.sh- Test with:
curl -fsSL http://YOUR_SERVER_IP:8000/Mount-Storage-Box.sh | sudo bashBased on your experience, the script will handle these scenarios automatically:
# What you did manually:
sudo apt update # β Script detects ARM64 and fixes repositories first
sudo apt install cifs-utils # β Script installs all required packages
sudo nano /etc/cifs-credentials.txt # β Script prompts interactively
sudo chmod 0600 /etc/cifs-credentials.txt # β Script sets secure permissions
sudo mkdir /mnt/hetzner-storage # β Script creates mount point
sudo mount.cifs -o seal,credentials=/etc/cifs-credentials.txt //u493700-sub2.your-storagebox.de/u493700-sub2 /mnt/hetzner-storage # β Script mounts and tests
# What users will do with your script:
curl -fsSL https://raw.githubusercontent.com/Automations-Project/Hetzner-Shells/main/Storage/Mount-Storage-Box.sh | sudo bash
# Then just follow the prompts!# Your logs showed issues with:
# - mount: /mnt/HC_Volume_100753392: mount point does not exist
# - s3fs: MOUNTPOINT directory /mnt/hetzner-s3 is not empty
# Script will handle these by:
# - Checking for existing mounts
# - Asking user about non-empty directories
# - Providing cleanup optionsSince you have Docker and multiple services running, the script provides recommendations for:
/mnt/hetzner-storage/
βββ backups/ # Database backups, config backups
βββ docker-data/ # Non-critical Docker volumes
βββ media/ # Media files, uploads
βββ logs/ # Application logs
βββ archives/ # Long-term storage# In your docker-compose.yml files:
services:
app:
volumes:
# Critical data - keep local
- /opt/docker-local/db:/var/lib/mysql
# Media/backup data - use Storage Box
- /mnt/hetzner-storage/media:/app/media
- /mnt/hetzner-storage/backups:/backupsThe script handles all the issues you encountered:
- ARM64 Repository Issues β Auto-fixes sources.list
- Package Not Found β Uses correct repositories
- Mount Point Conflicts β Interactive resolution
- Existing Mounts β Safe handling and options
- Credential Security β Secure file creation
- fstab Integration β Optional with testing
After installation, users can monitor with:
# Check mount status
df -h /mnt/hetzner-storage
# Check mount details
findmnt /mnt/hetzner-storage
# View logs
tail -f /tmp/hetzner-mount-*.logThis gives your users a professional, automated solution instead of the manual process you went through!