DEPRECATED; Please use netatalk/netatalk
10K+
This repository is no longer being updated. Please migrate your containers to netatalk/netatalk.
If you previously used the Netatalk 3.1.18 image for making Time Machine backups in macOS, you may run into errors after upgrading to the Netatalk 3.2.0 image or later. It is recommended to discard the backup sparsebundle and redo the backup. If you absolutely must access the older backup sparsebundle, downgrading to the 3.1.18 image should restore access.
Netatalk v3 is a performant Open Source file server that implements the Apple Filing Protocol (AFP) 3.4 over TCP/IP.
It is capable of serving many macOS or Classic Mac OS clients simultaneously as an AppleShare file server.
These are examples. Please replace the default username and password with something more secure.
With docker compose (docker managed volume and Zeroconf).
services:
netatalk:
image: netatalk/netatalk3:latest
network_mode: "host"
cap_add:
- NET_ADMIN
volumes:
- afpshare:/mnt/afpshare
- afpbackup:/mnt/afpbackup
- /var/run/dbus:/var/run/dbus
environment:
- "AFP_USER=atalk"
- "AFP_PASS=atalk"
volumes:
afpshare:
afpbackup:
With docker run
docker run --rm --network host --cap-add=NET_ADMIN --volume "/path/to/share:/mnt/afpshare" --volume "/var/run/dbus:/var/run/dbus" --env AFP_USER=atalk --env AFP_PASS=atalk --name netatalk netatalk/netatalk3:latest
Support for the AppleTalk network stack is missing in Netatalk v3. If you need AppleTalk to network Classic Mac OS or Apple II computers, please upgrade to Netatalk 4.0.
AFP uses TCP port 548, so consequently the Netatalk container is configured to expose this port.
For simplicity, exactly one user, one shared volume, and one Time Machine volume is supported in this image. It is hard coded to output afpd logs to the container's stdout, default info log level.
It is recommended to set up either a bind mount, or a Docker managed volume for persistent storage. Without this, the shared volume be stored in volatile storage that is lost upon container shutdown.
In order to use Zeroconf service discovery, the container requires the "host" network driver with NET_ADMIN capabilities.
Additionally, we rely on the host's D-Bus for Zeroconf, achieved with a bind mount for /var/run/dbus:/var/run/dbus.
These settings reduces the isolation of the Netatalk container, so if your priority is isolation and security, the file server will function perfectly fine without them. The tradeoff is that you will have to manually specify the host’s IP address from the client every time when connecting to the AFP file server.
These are required to set the credentials used to authenticate with the file server.
AFP_USERAFP_PASSAFP_GROUP <- group that owns the shared volume, and that AFP_USER gets assigned toAFP_UID <- specify user id of AFP_USERAFP_GID <- specify group id of AFP_GROUPSERVER_NAME <- the name of the server reported to ZeroconfSHARE_NAME <- the name of the file sharing volumeAFP_LOGLEVEL <- the verbosity of logs; default is "info"INSECURE_AUTH <- when non-zero, enable the "Clear Text" and "Guest" UAMsMANUAL_CONFIG <- when non-zero, skip netatalk config file modification, allowing you to manually manage themIf you found a bug in the Netatalk docker image or Netatalk itself, please raise an issue ticket in GitHub. We will follow up on your report as soon as possible.
Content type
Image
Digest
sha256:de8bb7b30…
Size
280.7 MB
Last updated
almost 2 years ago
docker pull netatalk/netatalk3