Configuring the Raspberry Pi as a TimeMachine Backup¶
This article targets distributions based on debian stretch installs. Details may vary with different versions.
The Raspberry Pi and derivatives are attractive low-cost alternatives to Apple’s pricey AirPort Time Capsule devices. Unfortunately, the version of Netatalk that ships with raspbian is 2.2.5-2 as of this writing. To get the full benefit of the current Netatalk feature set, it is necessary to upgrade to version 3.11. This page documents the steps I used to get Netatalk 3.1.11-1 up and running on a Rock64 single-board computer running DietPi, a stripped down version of raspbian. These steps should work on a Raspberry Pi 3, but the Rock64 offers USB3 for disk performance, and 1 Gbps Ethernet for network performance. The Rock64 is connected to a Gbps Ethernet switch serving my home network, and a USB 3 external drive bay housing a 3.5 inch 4 TB drive.
I am grateful to Daniel Lange and his excellent page summarizing steps he used to get this running on Linux and Adrian Knoth for the work he put into the Debian Netatalk packages. I have added additional steps for getting things running under raspbian for Raspberry Pi and derivative systems.
Install the requisite development tools:
apt-get install \ build-essential \ devscripts \ debhelper \ cdbs \ autotools-dev \ dh-buildinfo \ libdb-dev \ libwrap0-dev \ libpam0g-dev \ libcups2-dev \ libkrb5-dev \ libltdl3-dev \ libgcrypt11-dev \ libcrack2-dev \ libavahi-client-dev \ libldap2-dev \ libacl1-dev \ libevent-dev \ d-shlibs \ dh-systemd \ fakeroot \ licensecheck
netatalk 3.1.11debian source code:
git clone https://github.com/adiknoth/netatalk-debian
Navigate into the debian source directory:
debuild -b -uc -us
Install the new
dpkg -i libatalk18_3.1.11-1_arm64.deb netatalk_3.1.11-1_arm64.deb
Edit the netatalk configuration:
nano /etc/netatalk/afp.conf Here's the configuration I used for a 2 TB network backup target:: [TimeMachine for iMac] mimic model = TimeCapsule6,106 path = /path/to/timemachine/ time machine = yes vol size limit = 2000000
Restart the netatalk service:
sudo systemctl restart netatalk
Verify the netatalk service is running:
sudo systemctl status netatalk