You can create backups to a physical drive plugged directly into your server, or over-the-air to another device on the same LAN (a network folder).
Backups are encrypted using your master password. If you change your password prior backups retain the original password.
Services may choose to exclude certain files or folders from the backup. For example, Bitcoin excludes the blockchain, since it can be recovered by re-syncing.
Backups can take minutes or hours to complete, depending on your hardware and quantity of data.
A service cannot be used while it is backing up. You may, however, continue to use your server and other services.
Upon completion, StartOS issues a backup report, indicating which services were backed up, as well as any errors.
Backups taken from a specific system architecture (x86, ARM, RISC-V) are backed up for just that architecture. If restored to another architecture, they will likely need to be reinstalled to run efficiently.
Even with proper backups the risk of data corruption is always non-zero. Therefore it is recommended to take additional care when backing up highly valuable or irreplaceable data like a lightning node:
High quality SSDs should be favored over HDDs as a backup target.
Backup to multiple targets.
If backing up to multiple targets make sure all backups are up to date.
EXT4 is the recommended format of your backup drive. fat32 and exFAT are not recommended and may not work.
Warning
Backing up to USB thumb drives or SD card media is not recommended unless you are using high-endurance, high-quality storage. Low-quality flash memory is prone to corruption and failure over time.
If you are using a Raspberry Pi, backup drive must be self-powered, or be connected via a powered USB hub, to prevent possible data corruption.
A network folder backup sends your encrypted backup over the LAN to a shared folder on another device. First, create a shared folder on the target device, then connect to it from StartOS.
Identify or create a folder to store your server backups.
Tip
This folder can be located on an external drive connected to your Mac.
Go to System Settings > General > Sharing and click the “info” icon.
Click the toggle to enable file sharing, then click the “plus” icon and select your backups folder.
Click “Options”.
Select the user who owns the folder.
Tip
You can find the hostname at the top of the sharing window. The hostname will be an address beginning with smb://. To use as hostname, disregard the smb:// and simply enter the IP address that follows it. Alternatively, you can use the computer hostname (open Terminal and type hostname). Either method will work.
Identify or create a folder to store your server backups.
Tip
This folder can be located on an external drive connected to your Windows machine.
Right click the folder and click “Properties”.
Click “Sharing”.
Click “Share”.
Select a user you want to use for login and click “Share”.
Warning
If you get a dialog about your network being “Public”, you may wish to change to “Private” if this is your home network. Otherwise you may turn on network sharing for public networks.
Note the Windows directory path in grey text, beginning at the first single slash (\). You will need this path when connecting from StartOS.
Add your user to samba, replacing $USER with your Linux username.
sudo smbpasswd -a $USER
You will be prompted for your linux password. Then, you must create a new SMB password for the user with permission to write to your new backup share. Keep the password somewhere safe, such as Vaultwarden.
Identify or create a folder to store your server backups.
Tip
This folder can be located on an external drive connected to your Linux machine.
Right click the folder and click “Properties”.
Click “Local Network Share”.
Select “Share this folder” and give the folder a Share name. Remember the name, you will need it later. Then click “Create Share”.
If your installation of Ubuntu is running a firewall by default or due to your own custom configuration, enter this command to allow connections to Samba. If it generates an error, you can safely ignore it:
Add your user to samba, replacing $USER with your Linux username.
sudo usermod -a -G sambashare $USER
sudo smbpasswd -a $USER
You will be prompted for your linux password. Then, you must create a new SMB password for the user with permission to write to your new backup share. Keep the password somewhere safe, such as Vaultwarden.
Identify or create a folder to store your server backups.
Tip
This folder can be located on an external drive connected to your Linux machine.
Right click the folder and click “Sharing Options”.
Select “Share this folder” and give the folder a Share name (maximum 12 characters). Remember the name, you will need it later. Click “Create Share”.
If your installation of Mint is running a firewall by default or due to your own custom configuration, enter this command to allow connections to Samba. If it generates an error, you can safely ignore it:
sudo ufw allow Samba
Install Samba if it is not already installed.
Arch:
sudo pacman -S samba
Debian and Debian-based:
sudo apt install samba
CentOS/Redhat
sudo yum install samba
Fedora
sudo dnf install samba
Identify or create a folder to store your server backups. Make a note of the directory path. For example:
mkdir -p /home/$USER/start9-backup
replacing $USER with your Linux username and “start9-backup” with whatever you want the folder to be named.
Tip
This folder can be located on an external drive connected to your Linux machine.
Warning
If you are on Fedora 38+, you need to do an extra step to allow the Samba share in SELinux:
Configure Samba by adding the following to the end of your /etc/samba/smb.conf file:
[backup-share]
path = "/home/$USER/start9-backup"
create mask = 0600
directory mask = 0700
read only = no
guest ok = no
Where:
[backup-share] can be replaced with whatever you want (must remain inside brackets). This is your Share Name. Remember the name, you will need it later.
path is the directory path to the share folder from above.
Open a terminal and enter the following command, replacing $USER with your Linux username:
sudo smbpasswd -a $USER
This creates a password for the Local Network Share. Keep it somewhere safe, such as Vaultwarden.
If your Linux system has a firewall enabled by default or due to custom configuration, you may need to allow connections to Samba. The command varies depending on the firewall in use:
For systems using UFW (commonly found on Debian-based distros):
sudo ufw allow Samba
For systems using firewalld (common on RHEL-based distros):
In the Synology UI, go to Control Panel > Shared Folder and choose the folder you want to use as the destination for the backup.
Note
Do not select an encrypted folder. Encrypted folders on Synology enforce a character limit of 143 characters. StartOS backups use folder/file names that are longer than 143 characters. The backup process will fail if you try to backup to an encrypted folder.
Go to Control Panel > File Services > SMB and click the SMB tab if it isn’t already selected. Ensure that “Enable SMB service” is checked.
Under Advanced Settings on the same tab, set “Min SMB protocol” to SMB2 and “Max SMB protocol” to SMB3.
Take note of your device name. Just under “Note” in a pale blue box, you will see “PC (Windows Explorer):” and “Mac (Finder):”. These both provide network addresses that contain your device’s name. This is the “Hostname” you will need when connecting from StartOS.
Still in File Services, click on the rsync tab. Click the checkbox to enable the rsync service.
Click “File Station” and locate the desired destination folder. Right click the folder, then Properties > General. Next to “Location” will be a folder location. The portion of the location without the volume label is the value you will use for the “Path”. For example, if the Location is /volume1/Backups, the value you care about is Backups.
Ensure you have already created a ZFS disk pool in Storage > Pool as a place to store your backups. If you need help with this step, see the TrueNAS documentation.
In the TrueNAS UI, create a user for writing backups. Go to Accounts > Users > ADD.
Enter a Full Name, Username, and Password for the new user. Near the bottom, click “Shell: nologin”, and enable “Samba Authentication”. Click “SUBMIT”.
Go to Services > SMB. Enable SMB and check the box “Start Automatically”.
Open a shell and create your backups directory. For example:
mkdir /mnt/zpooldisk1/start9backupshare
Under Sharing > Windows Shares (SMB), drill down into the path until you find the directory to be shared. Give the share a name and click “SUBMIT”.
A Configure ACL dialog will emerge. Click “CONFIGURE NOW”.
On the Edit ACL screen, under “User”, click “Apply User” and select the username you created. On the right-hand side, Permissions Type should be set to “Basic” and Permissions should be set to “Full Control”. Click SAVE.
Hostname: The hostname or IP address of your Mac (see the tip in the section above).
Path: The name of your shared folder, not the full directory path.
Username: Your Mac user who owns the shared folder.
Password: Your password for the above user.
Hostname: Your Windows computer name (shown after \\ in the sharing dialog).
Path: The folder path from the sharing dialog, replacing backslashes \ with forward slashes / (e.g. /Users/win/Desktop/SharedFolder).
Username: Your Windows user who owns the shared folder.
Password: Your password for the above user. You cannot use a PIN.
Warning
Ensure you are not using a PIN and that Office365 accounts are not in use — try a regular local user instead. If you receive mount error(115): Operation now in progress, navigate to Start > Settings > Network & Internet > Ethernet (or WiFi) and select the “Private” profile.
Hostname: The name of your Linux machine on the LAN.
Path: The “Share Name” from the sharing dialog, not the full directory path.
Username: Your Linux username on the remote machine.
Password: The SMB password you created with smbpasswd.
Hostname: The name of your Linux machine on the LAN.
Path: The “Share Name” from the sharing dialog, not the full directory path.
Username: Your Linux username on the remote machine.
Password: The SMB password you created with smbpasswd.
Hostname: The name of your Linux machine on the LAN.
Path: The “Share Name” from your Samba config, not the full directory path (e.g. backup-share).
Username: Your Linux username on the remote machine.
Password: The SMB password you created with smbpasswd.
Hostname: The name of your Synology device on the LAN.
Path: The name of your shared folder, not the full directory path (e.g. Backups).
Username: Your Synology user who owns the shared folder.
Password: Your password for the above user.
Hostname: The name of your TrueNAS device on the LAN (e.g. truenas.local).
Path: The name of your shared folder, not the full directory path (e.g. nasshare).
Username: Your TrueNAS user who owns the shared folder.
Password: Your password for the above user.
Warning
If you receive Filesystem I/O Error mount error(13): Permission denied, ensure you have entered the correct values. The hostname can be particularly tricky.