Skip to content
This repository has been archived by the owner on Oct 22, 2021. It is now read-only.
/ netatalk-timemachine Public archive

Alpine Linux based Netatalk AFP fileserver for the Apple Time Machine backups and more

Notifications You must be signed in to change notification settings

vi7/netatalk-timemachine

Repository files navigation

netatalk-timemachine

Alpine Linux based Netatalk AFP fileserver for the Apple Time Machine backups and more

Based on:


Run

Running the service via Docker compose:

# Overrride mountpoint for timemachine data volume if needed. Default: `/mnt/timemachine`
# export TIMEMACHINE_VOLUME=/some/path
# Override container name prefix
# export COMPOSE_PROJECT_NAME=myapp
docker-compose -f netatalk-compose.yml up -d

If you're not using Docker Compose, there is run example directly via Docker at tm_runner.sh.

IMPORTANT: This is very basic example which is not alligned with netatalk-compose.yml and thus doesn't contain all the recommended container run options

Use

Mac OS Time Machine disk

  • Go to Finder, press CMD+K, insert afp://<your-server-address>/
  • Provide credentials, defaults are:
    • username: tmbackup
    • password: tmbackup
  • Go to Time Machine Preferences pane, press Select Disk, choose the network drive connected in the previous step, enter credentials again if asked
  • Sometimes Mac OS doesn't show "unsupported" or non-Apple Time Machine network drives, but you can easily change that with one Terminal command:
    defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

Netatalk autodsicovery

In order for the Netatalk network share be automatically detected by Finder you should install and configure Avahi daemon at your server. Currently Avahi automatic deployment is out of the scope for this project, but you can use Avahi configuration file example avahi/afpd.service which supposed to ease your life a bit ;). Avahi daemon installation and configuration example as well can be obtained here: https://gist.github.com/vi7/d23d00f313800e6f4042212326878de7

Build, tag and push

Note: the example below is using my Docker HUB username and Project versioning

export TM_VERSION=0.3
docker build -t vi7al/netatalk-timemachine:${TM_VERSION} .
docker tag vi7al/netatalk-timemachine:${TM_VERSION} vi7al/netatalk-timemachine:latest
docker push vi7al/netatalk-timemachine:${TM_VERSION}
docker push vi7al/netatalk-timemachine

Configure

Add share

  • open afpd config file in editor:

    docker exec -it <container_name> vi /etc/afp.conf
  • add configuration section for the share at the end of the file. Example is below

    [Time Machine vol2]
    path = /timemachine/vol2
    valid users = tmbackup
    time machine = yes
    # the max size of the data folder (in Kb)
    vol size limit = 536870912
    
  • force AFPd to re-read the config

    docker exec -it <container_name> pkill -HUP afpd

About

Alpine Linux based Netatalk AFP fileserver for the Apple Time Machine backups and more

Resources

Stars

Watchers

Forks

Packages

No packages published