Installation
Bare-metal installation
Installing fsbackup directly on the host without Docker, using supercronic for scheduling.
If you prefer not to use Docker, fsbackup can run directly on the host as the fsbackup user, scheduled by supercronic — the same scheduler used inside the Docker image.
Prerequisites
- Ubuntu/Debian Linux
rsync,openssh-client,age,zstd,awscliinstalled on the hostsupercronicinstalled (see below)
Install supercronic
SUPERCRONIC_VERSION=0.2.33
SUPERCRONIC_SHA256=feefa310da569c81b99e1027b86b27b51e6ee9ab647747b49099645120cfc671
curl -fsSL \
"https://github.com/aptible/supercronic/releases/download/v${SUPERCRONIC_VERSION}/supercronic-linux-amd64" \
-o /usr/local/bin/supercronic
echo "${SUPERCRONIC_SHA256} /usr/local/bin/supercronic" | sha256sum -c -
chmod +x /usr/local/bin/supercronic
Steps 1–7: Common setup
Follow steps 1–7 from Docker installation (create user, SSH keypair, directories, config). Use the same UID 993 for consistency.
Install scripts
sudo mkdir -p /opt/fsbackup
sudo cp -r /home/<user>/fsbackup/bin /opt/fsbackup/bin
sudo cp -r /home/<user>/fsbackup/utils /opt/fsbackup/utils
sudo cp -r /home/<user>/fsbackup/s3 /opt/fsbackup/s3
sudo chmod -R 755 /opt/fsbackup
Trust remote SSH host keys
sudo /opt/fsbackup/utils/fs-trust-host.sh <hostname>
Configure the crontab
Copy the example crontab and edit it to match your targets:
sudo cp /home/<user>/fsbackup/conf/fsbackup.crontab.example /etc/fsbackup/fsbackup.crontab
sudo chown root:fsbackup /etc/fsbackup/fsbackup.crontab
sudo chmod 640 /etc/fsbackup/fsbackup.crontab
Run supercronic as a systemd service
Create /etc/systemd/system/fsbackup-supercronic.service:
[Unit]
Description=fsbackup supercronic scheduler
After=network.target
[Service]
User=fsbackup
ExecStart=/usr/local/bin/supercronic /etc/fsbackup/fsbackup.crontab
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now fsbackup-supercronic.service
supercronic hot-reloads the crontab on change — no service restart needed when editing the schedule.
Verify and run
sudo -u fsbackup /opt/fsbackup/bin/fs-doctor.sh --class class1
sudo -u fsbackup /opt/fsbackup/bin/fs-runner.sh daily --class class1 --dry-run
sudo -u fsbackup /opt/fsbackup/bin/fs-runner.sh daily --class class1
Web UI (bare-metal)
The web UI can be run as a systemd service:
sudo cp /home/<user>/fsbackup/systemd/fsbackup-web.service /etc/systemd/system/
sudo systemctl enable --now fsbackup-web.service
The web UI binds to 0.0.0.0:8080 by default. Configure via web/.env.