An environment running AFP filesharing, Tracker (search/spotlight integration), and mDNS server for service discovery.
To quickly get started with running an Confluence instance, first run the following command:
docker run --detach --publish 548:548 cptactionhank/netatalk:latestImportant: This does not announce the AFP service on the network; connecting to the server should be by Finder's Go -> Connect Server (CMD+K) and then typing afp://servername
Default configuration of Netatalk has one share called My AFP Share and shares to containers /media directory. So host mounting a volume to this path will be the quickest way to start sharing files from your host.
docker run --detach --volume hostpath:/media --publish 548:548 cptactionhank/netatalk:latestWith the slower roads documentation some knowledge in administering Docker is implicitly assumed.
There are two ways of configuring the Netatalk which is either by mounting a configuration file or editing the file from the container itself. Documentation of the configuration file /etc/netatalk/afp.conf can be found here.
This is quite a simple way to change the configuration by supplying an additional docker flag when creating the container.
... --volume hostpath:/etc/netatalk/afp.conf cptactionhank/netatalkYou can also edit the file from inside the container using your favorite tool, like sed, echo, etc.
Just start an interactive session with the running container by executing the following command and start doing your work:
docker exec -ti containername bashIf you would like to use an editor like nano, emacs, or vi you have to install it first using apt-get install.
The container comes installed with libnss-ldap and libpam-ldap if you want to use LDAP for authentication, however this is out of scope of this README. So instead we can do the simple thing of creating new Debian users to the container.
docker exec -ti containername adduser --no-create-home timemachineAnd then the shares could be configured with a share like
[Secured Share]
path = /media/secure
valid users = timemachineService discovery works only when the Avahi daemon is on the same network as your users which is why you need to supply --net=host flag to Docker when creating the container, but do consider that --net=host is considered a security threat. Alternatively you can install and setup an mDNS server on the host and have this describing the AFP service for your container.
This has been made with the best intentions and current knowledge so it shouldn't be expected to be flawless. However you can support this too with best practices and other additions.
Out of date documentation, version, lack of tests, etc. why not help out by either creating an issue to open a discussion or by sending a pull request with modifications.