moritzf Posted May 24, 2022 Share Posted May 24, 2022 (edited) This thread is meant to provide support for issues related to the Time Machine Application Template view on GitHub How does this Application work? This application is based on the docker container mbentley/docker-timemachine. It will create its own share for TimeMachine clients and thus does not use the existing network share functionality in Unraid. What is the best way to start using this Application? I think the best way would be to start with the parameters left at their default and work your way up from there. You will need to map a path on your host to the container for persistent data storage. For that path, you will need to execute the following command so that the container can write to it (in this example /mnt/user/timemachine is the path on the host that is used by TimeMachine): sudo chown -R 1000:1000 /mnt/user/timemachine/ Where can I get more information about configuration options? As mentioned above, this application is based on mbentley/docker-timemachine. Therefore the most extensive and up to date information is available in the documentation of that project . Why the frequent Updates (daily?!)? As this template is based on the docker image from mbentley/docker-timemachine, all updates that are pushed to docker hub from the maintainer of mbentley will also appear as updates for Unraid. Frequent updates on docker images can have many reasons. Even if no changes to the core implementation of dockerized application are made, any docker image is based on a base image. This base image usually is in turn based on an operating system like ubuntu, arch, debian etc. If a maintainer wants to always provide an image with all security patches of the underlying base image, he may choose to automatically build and push new images for his own application, everytime an updated base image becomes available. Edited March 28, 2023 by moritzf Add new FAQ-Question 5 Quote Link to comment
rockrimmon Posted May 25, 2022 Share Posted May 25, 2022 Hello, I have multiple Mac systems that I would like to use this Docker for. Would I be correct if I wanted each Mac to have its own TimeMachine backup area would I add multiple paths like the following: /mnt/user/timemachine/Mac1 /mnt/user/timemachine/Mac2 /mnt/user/timemachine//Mac3 Etc. Any other changes I would need to make in the Docker install? Thank. Quote Link to comment
UBS Posted May 25, 2022 Share Posted May 25, 2022 may i ask please - this provide any functionalty difference from the native wayn of makeing share for use in timemachine? Quote Link to comment
moritzf Posted May 25, 2022 Author Share Posted May 25, 2022 2 hours ago, rockrimmon said: Hello, I have multiple Mac systems that I would like to use this Docker for. Would I be correct if I wanted each Mac to have its own TimeMachine backup area would I add multiple paths like the following: /mnt/user/timemachine/Mac1 /mnt/user/timemachine/Mac2 /mnt/user/timemachine//Mac3 Etc. Any other changes I would need to make in the Docker install? Thank. In general, you should be able to back up multiple Macs to the same TimeMachine share without adding any further paths. If you desire to keep the backups somehow separate, I would suggest to set up a user for each Mac. Alternatively, you could spawn mutiple instances of the Docker container. After installing the application, it should create a first docker container and the template should be accessible in the Docker-UI. You can then create further instances of the container through Docker->Add Container-> Selection of "TimeMachine" as a template. Each container can be mapped to the path on your Unraid-Host that you desire (e.g. /mnt/user/timemachine/Mac1, /mnt/user/timemachine/Mac2). For configuration of multiple users, I would refer you to https://github.com/mbentley/docker-timemachine#adding-multiple-users--shares. Following the instructions you will find there, you should be able to set up multiple users that you could each set up for the different Macs. Quote Link to comment
moritzf Posted May 25, 2022 Author Share Posted May 25, 2022 3 hours ago, UBS said: may i ask please - this provide any functionalty difference from the native wayn of makeing share for use in timemachine? I guess that you can adjust most of the settings through some trickery in Unraid as well. For any fixes or incompatibility issues however, you will be relying on Unraid/Limetech to update the corresponding components of their system. And from what I read, it can be a hazzle to get TimeMachine up and running reliably as is. Therefore I think there is a certain advantage of running TimeMachine as a Docker image. The docker image used (https://github.com/mbentley/docker-timemachine) is in active development and quick to fix issues. The focus of that project is clear - TimeMachine and nothing but TimeMachine. I have been using this solution for a couple of months and it has been rock solid. 4 Quote Link to comment
riff.79 Posted May 26, 2022 Share Posted May 26, 2022 Is it advised to use the disk shares or users shares for this application? Quote Link to comment
moritzf Posted May 26, 2022 Author Share Posted May 26, 2022 1 hour ago, riff.79 said: Is it advised to use the disk shares or users shares for this application? I guess it does not really matter but I am using user shares all over my Unraid and have my timemachine share hidden from all users. That kind of makes sense because you do not want anyone toying around with the data. I only want TimeMachine to access and read/write the data. The screenshot illustrates how I set up my share. Quote Link to comment
wgstarks Posted May 26, 2022 Share Posted May 26, 2022 (edited) 6 hours ago, moritzf said: The screenshot illustrates how I set up my share. If no users have access to the TM share how do you mount that share on the Mac in order to set Time Machine to use that destination? Edit: maybe mounting the destination first to be able to select it for backups is no longer necessary with mDNS advertising? Edited May 26, 2022 by wgstarks Quote Link to comment
moritzf Posted May 26, 2022 Author Share Posted May 26, 2022 49 minutes ago, wgstarks said: If no users have access to the TM share how do you mount that share on the Mac in order to set Time Machine to use that destination? Edit: maybe mounting the destination first to be able to select it for backups is no longer necessary with mDNS advertising? It is not Unraid that provides the share to the TimeMachine clients, it is the Docker container. So you can hide the share in Unraid and the Docker Container (aka. the TimeMachine application discussed in this thread) will provide an appropriate share. Quote Link to comment
wgstarks Posted May 26, 2022 Share Posted May 26, 2022 16 minutes ago, moritzf said: It is not Unraid that provides the share to the TimeMachine clients, it is the Docker container. So you can hide the share in Unraid and the Docker Container (aka. the TimeMachine application discussed in this thread) will provide an appropriate share. Got it. The unRAID share is only accessed from the docker. Quote Link to comment
wgstarks Posted May 26, 2022 Share Posted May 26, 2022 When attempting to install I see in the instructions that I need to run this command on the share- sudo chown -R:1000 /mnt/user/timemachine/ I’m guessing that I need to replace /timemachine/ with the actual share I have configured? What is the symbol after -R? Quote Link to comment
moritzf Posted May 26, 2022 Author Share Posted May 26, 2022 (edited) 2 hours ago, wgstarks said: When attempting to install I see in the instructions that I need to run this command on the share- sudo chown -R:1000 /mnt/user/timemachine/ I’m guessing that I need to replace /timemachine/ with the actual share I have configured? What is the symbol after -R? hmm - where did you take that from? In the app description, the text is displayed correctly for me (see screenshot). And yes - you will need to replace /mnt/user/timemachine/ with the actual share (or path) that you mapped to the Time Machine Container. Edited May 26, 2022 by moritzf Quote Link to comment
wgstarks Posted May 26, 2022 Share Posted May 26, 2022 8 minutes ago, moritzf said: hmm - where did you take that from? It's the popup window when you click install. Quote Link to comment
wgstarks Posted May 26, 2022 Share Posted May 26, 2022 Might not be a bad idea to put that info in the original post and/or GitHub. Some users might read it.😁 Quote Link to comment
wgstarks Posted May 26, 2022 Share Posted May 26, 2022 Got the docker installed easily enough but Time Machine backups don't complete. run command- Quote root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='TimeMachine' --net='br0' --ip='10.0.1.21' -e TZ="America/New_York" -e HOST_OS="Unraid" -e HOST_HOSTNAME="Brunnhilde" -e HOST_CONTAINERNAME="TimeMachine" -e 'VOLUME_SIZE_LIMIT'='1 T' -e 'TM_USERNAME'='wgstarks' -e 'PASSWORD'='4{s7A/ndxpTG=CbR' -e 'ADVERTISED_HOSTNAME'='TimeMachineSMB' -e 'CUSTOM_SMB_CONF'='false' -e 'CUSTOM_USER'='false' -e 'DEBUG_LEVEL'='1' -e 'MIMIC_MODEL'='TimeCapsule8,119' -e 'EXTERNAL_CONF'='' -e 'HIDE_SHARES'='no' -e 'TM_GROUPNAME'='TimeMachineSMB' -e 'TM_UID'='1000' -e 'SET_PERMISSIONS'='false' -e 'SMB_INHERIT_PERMISSIONS'='no' -e 'SMB_NFS_ACES'='yes' -e 'SMB_METADATA'='stream' -e 'SMB_PORT'='445' -e 'SMB_VFS_OBJECTS'='acl_xattr fruit streams_xattr' -e 'WORKGROUP'='WORKGROUP' -e 'TM_GID'='1000' -e 'SHARE_NAME'='TimeMachineSMB' -l net.unraid.docker.managed=dockerman -l net.unraid.docker.icon='https://upload.wikimedia.org/wikipedia/de/f/f4/Time_Machine_%28Apple%29_Logo.png' -v '/mnt/user/TimeMachineSMB/':'/opt/timemachine':'rw' --hostname timemachine 'mbentley/timemachine' e4909bb64888fdb1ab398c9cbcf31e15314b941095a549ad1f99372be9bd6c21 The command finished successfully! Time Machine log from mac- Quote 2022-05-26 17:26:48 Initial network volume parameters for 'TimeMachineSMB-1' {disablePrimaryReconnect: 0, disableSecondaryReconnect: 0, reconnectTimeOut: 60, QoS: 0x0, attributes: 0x1C} 2022-05-26 17:26:48 Configured network volume parameters for 'TimeMachineSMB-1' {disablePrimaryReconnect: 1, disableSecondaryReconnect: 0, reconnectTimeOut: 60, QoS: 0x20, attributes: 0x1C} 2022-05-26 17:28:22 Mountpoint '/Volumes/TimeMachineSMB-1' is still valid 2022-05-26 17:28:22 Requested backup cancellation or termination before 2022-05-26 21:29:22 +0000 I made 3 or 4 attempts to backup but could only find one entry in the log related to this destination. Quote Link to comment
wgstarks Posted May 26, 2022 Share Posted May 26, 2022 Got it working I think. I had mounted the backup location on the mac via the IP (10.0.1.21/TimeMachineSMB) and added that location to Time Machine. After my previous post I realized that TIMEMACHINE.local is also listed as an available destination and that one seems to be working although it's only at 1.1% right now. Not sure why its TIMEMACHINE.local though. ADVERTISED_HOSTNAME is set to TimeMachineSMB. Shouldn't it be TimeMachineSMB.local? Quote Link to comment
wgstarks Posted May 26, 2022 Share Posted May 26, 2022 I realized when I started getting docker image size warnings that the TM backup was writing to my docker image so I stopped the backup and rebooted the unraid server to clear the docker image. Deleted and re-installed this docker with default settings. Also created a new share and ran the chmod command on it. Now I'm getting Time Machine backup failures because the backup disk image cannot be created. TM log- Quote 2022-05-26 19:31:43 Starting manual backup 2022-05-26 19:31:43 Attempting to mount 'smb://wgstarks@TIMEMACHINE._smb._tcp.local./timemachine' 2022-05-26 19:31:44 Mounted 'smb://wgstarks@TIMEMACHINE._smb._tcp.local./timemachine' at '/Volumes/.timemachine/TIMEMACHINE._smb._tcp.local./6327500C-6BF8-4267-AAB7-7737403AB5B2/timemachine' (1.1 TB of 1.1 TB available) 2022-05-26 19:31:44 Initial network volume parameters for 'timemachine' {disablePrimaryReconnect: 0, disableSecondaryReconnect: 0, reconnectTimeOut: 60, QoS: 0x0, attributes: 0x1C} 2022-05-26 19:31:44 Configured network volume parameters for 'timemachine' {disablePrimaryReconnect: 1, disableSecondaryReconnect: 0, reconnectTimeOut: 30, QoS: 0x20, attributes: 0x1C} 2022-05-26 19:31:44 Mountpoint '/Volumes/.timemachine/TIMEMACHINE._smb._tcp.local./6327500C-6BF8-4267-AAB7-7737403AB5B2/timemachine' is still valid 2022-05-26 19:31:44 Mountpoint '/Volumes/.timemachine/TIMEMACHINE._smb._tcp.local./6327500C-6BF8-4267-AAB7-7737403AB5B2/timemachine' is still valid 2022-05-26 19:31:44 Using a band size of 64 MB (max bands set to 16384, image size 1.04 TB) 2022-05-26 19:31:44 Creating an encrypted sparsebundle using Case-sensitive APFS filesystem 2022-05-26 19:31:54 Failed to create '/Volumes/.timemachine/TIMEMACHINE._smb._tcp.local./6327500C-6BF8-4267-AAB7-7737403AB5B2/timemachine/B114B4EC-A042-5642-B37C-216F971A436B.sparsebundle', results: { 2022-05-26 19:31:54 Mountpoint '/Volumes/.timemachine/TIMEMACHINE._smb._tcp.local./6327500C-6BF8-4267-AAB7-7737403AB5B2/timemachine' is still valid 2022-05-26 19:31:56 Unmounted '/Volumes/.timemachine/TIMEMACHINE._smb._tcp.local./6327500C-6BF8-4267-AAB7-7737403AB5B2/timemachine' 2022-05-26 19:31:56 Backup failed (20: BACKUP_FAILED_DISK_IMAGE_NOT_CREATED) 2022-05-26 19:31:56 Not prioritizing backups with priority errors. lockState=0 Current docker run command- Quote root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='TimeMachine' --net='br0' --ip='10.0.1.21' -e TZ="America/New_York" -e HOST_OS="Unraid" -e HOST_HOSTNAME="Brunnhilde" -e HOST_CONTAINERNAME="TimeMachine" -e 'VOLUME_SIZE_LIMIT'='1 T' -e 'TM_USERNAME'='redacted' -e 'PASSWORD'='redacted' -e 'ADVERTISED_HOSTNAME'='timemachine' -e 'CUSTOM_SMB_CONF'='false' -e 'CUSTOM_USER'='false' -e 'DEBUG_LEVEL'='1' -e 'MIMIC_MODEL'='TimeCapsule8,119' -e 'EXTERNAL_CONF'='' -e 'HIDE_SHARES'='no' -e 'TM_GROUPNAME'='timemachine' -e 'TM_UID'='1000' -e 'SET_PERMISSIONS'='false' -e 'SMB_INHERIT_PERMISSIONS'='no' -e 'SMB_NFS_ACES'='yes' -e 'SMB_METADATA'='stream' -e 'SMB_PORT'='445' -e 'SMB_VFS_OBJECTS'='acl_xattr fruit streams_xattr' -e 'WORKGROUP'='WORKGROUP' -e 'TM_GID'='1000' -e 'SHARE_NAME'='timemachine' -l net.unraid.docker.managed=dockerman -l net.unraid.docker.icon='https://upload.wikimedia.org/wikipedia/de/f/f4/Time_Machine_%28Apple%29_Logo.png' -v '/mnt/user/timemachine_smb/':'/opt/timemachine':'rw' --hostname timemachine 'mbentley/timemachine' a5189052563244ef3087449f9ff3fbb4a9bbcae966f125734ce423b74cbba055 The command finished successfully! Quote Link to comment
wgstarks Posted May 27, 2022 Share Posted May 27, 2022 Alright, this time I think I've really got it working. I had to let the docker create the user share (no idea why but it worked) and then run the chown command on that share. After that the backups started working but writing to the docker image again.🤨 Started really digging into the docker setting and found this- Quote Container Path: /opt/timemachine Directory to store the time machine backups. If you change the User Name (TM_USERNAME) value that it will change the data path from /opt/timemachine to /opt/value-of-TM_USERNAME. I had changed the TM_USERNAME but the docker didn't change the data path. It was still /opt/timemachine in the settings but I'm guessing the backups were writing to /opt/value-of-TM_USERNAME which wasn't mapped to anything. I changed TM_USERNAME back to default and everything looks good so far. Am I misunderstanding the comment I quoted above? Does the /opt/timemachine container path need to be changed manually if a custom username is set? Quote Link to comment
moritzf Posted May 27, 2022 Author Share Posted May 27, 2022 8 hours ago, wgstarks said: Alright, this time I think I've really got it working. I had to let the docker create the user share (no idea why but it worked) and then run the chown command on that share. After that the backups started working but writing to the docker image again.🤨 Started really digging into the docker setting and found this- I had changed the TM_USERNAME but the docker didn't change the data path. It was still /opt/timemachine in the settings but I'm guessing the backups were writing to /opt/value-of-TM_USERNAME which wasn't mapped to anything. I changed TM_USERNAME back to default and everything looks good so far. Am I misunderstanding the comment I quoted above? Does the /opt/timemachine container path need to be changed manually if a custom username is set? I think you understood the moment correctly. As with all Docker based applications, Environment-Variables (and that is what TM_USERNAME is) only affect things happening inside of the container. So the container will change the path it writes to - and you will need to make sure that that path is mapped to the host for persistent storage. As for the discrepancy with TimeMachineSMB and TimeMachine that might come from the extra parameter "--hostname timemachine" in the configuration. Perhaps you will need to match that name with the value of ADVERTISED_HOSTNAME. Quote Link to comment
wgstarks Posted May 27, 2022 Share Posted May 27, 2022 2 hours ago, moritzf said: and you will need to make sure that that path is mapped to the host for persistent storage. Yeah, this was the part I had originally missed. Maybe I’m a little dense but it wasn’t clear to me at first that I would need to edit the path or I suppose I could have also added a new path. All working good now though. Initial backup just completed about an hour ago. Quote Link to comment
wgstarks Posted May 28, 2022 Share Posted May 28, 2022 Cannot create encrypted backup. I get an error that the backup disk image could not be created. macOS Time Machine log- Quote 2022-05-28 09:52:22 Starting manual backup 2022-05-28 09:52:22 Cleared pending cancellation request 2022-05-28 09:52:22 Attempting to mount 'smb://timemachine@timemachine._smb._tcp.local./timemachine' 2022-05-28 09:52:26 Mounted 'smb://timemachine@timemachine._smb._tcp.local./timemachine' at '/Volumes/.timemachine/timemachine._smb._tcp.local./0390E087-DF77-4232-818C-722A15806A97/timemachine' (1.1 TB of 1.1 TB available) 2022-05-28 09:52:26 Initial network volume parameters for 'timemachine' {disablePrimaryReconnect: 0, disableSecondaryReconnect: 0, reconnectTimeOut: 60, QoS: 0x0, attributes: 0x1C} 2022-05-28 09:52:26 Configured network volume parameters for 'timemachine' {disablePrimaryReconnect: 1, disableSecondaryReconnect: 0, reconnectTimeOut: 30, QoS: 0x20, attributes: 0x1C} 2022-05-28 09:52:26 Mountpoint '/Volumes/.timemachine/timemachine._smb._tcp.local./0390E087-DF77-4232-818C-722A15806A97/timemachine' is still valid 2022-05-28 09:52:26 Mountpoint '/Volumes/.timemachine/timemachine._smb._tcp.local./0390E087-DF77-4232-818C-722A15806A97/timemachine' is still valid 2022-05-28 09:52:26 Using a band size of 64 MB (max bands set to 16384, image size 1.04 TB) 2022-05-28 09:52:26 Creating an encrypted sparsebundle using Case-sensitive APFS filesystem 2022-05-28 09:52:45 Failed to create '/Volumes/.timemachine/timemachine._smb._tcp.local./0390E087-DF77-4232-818C-722A15806A97/timemachine/B114B4EC-A042-5642-B37C-216F971A436B.sparsebundle', results: { 2022-05-28 09:52:46 Mountpoint '/Volumes/.timemachine/timemachine._smb._tcp.local./0390E087-DF77-4232-818C-722A15806A97/timemachine' is still valid 2022-05-28 09:52:46 Unmounted '/Volumes/.timemachine/timemachine._smb._tcp.local./0390E087-DF77-4232-818C-722A15806A97/timemachine' 2022-05-28 09:52:46 Backup failed (20: BACKUP_FAILED_DISK_IMAGE_NOT_CREATED) 2022-05-28 09:52:47 Not prioritizing backups with priority errors. lockState=0 run command- Quote root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='TimeMachine' --net='br0' --ip='10.0.1.21' -e TZ="America/New_York" -e HOST_OS="Unraid" -e HOST_HOSTNAME="Brunnhilde" -e HOST_CONTAINERNAME="TimeMachine" -e 'VOLUME_SIZE_LIMIT'='1 T' -e 'TM_USERNAME'='timemachine' -e 'PASSWORD'='4{s7A/ndxpTG=CbR' -e 'ADVERTISED_HOSTNAME'='timemachine' -e 'CUSTOM_SMB_CONF'='false' -e 'CUSTOM_USER'='false' -e 'DEBUG_LEVEL'='1' -e 'MIMIC_MODEL'='TimeCapsule8,119' -e 'EXTERNAL_CONF'='' -e 'HIDE_SHARES'='no' -e 'TM_GROUPNAME'='timemachine' -e 'TM_UID'='1000' -e 'SET_PERMISSIONS'='false' -e 'SMB_INHERIT_PERMISSIONS'='no' -e 'SMB_NFS_ACES'='yes' -e 'SMB_METADATA'='stream' -e 'SMB_PORT'='445' -e 'SMB_VFS_OBJECTS'='acl_xattr fruit streams_xattr' -e 'WORKGROUP'='WORKGROUP' -e 'TM_GID'='1000' -e 'SHARE_NAME'='timemachine' -l net.unraid.docker.managed=dockerman -l net.unraid.docker.icon='https://upload.wikimedia.org/wikipedia/de/f/f4/Time_Machine_%28Apple%29_Logo.png' -v '/mnt/user/timemachine/':'/opt/timemachine':'rw' --hostname timemachine 'mbentley/timemachine' e4362ca3db037a976e3ce47ce54b875dc1afc9c1fff129631d0fd1bcbe5b4464 The command finished successfully! I was able to successfully complete un-encrypted backups but the encrypted backups always fail with the same error. brunnhilde-diagnostics-20220528-1000.zip Quote Link to comment
Jorgen Posted May 30, 2022 Share Posted May 30, 2022 Just wanted to say thank you for making this available! I’ve had mixed results with the built in unraid TimeMachine functionality lately, but this just worked straight up.One question, has anyone attempted a full restore from a backup managed by this docker to a new/different Mac?Sent from my iPhone using Tapatalk Quote Link to comment
wgstarks Posted June 2, 2022 Share Posted June 2, 2022 Trying to create a second backup I originally created several user.conf files in a folder in appdata and set the path per the instructions but the docker failed to start with an error that the path had to be to a location within the container. Since I didn't know how to write the .conf files to the docker image I decided to just create multiple instances of the docker. The first is setup and running without any issues but the second I am unable to login from the client mac. I'm using a very simple user name and password but the login fails repeatedly. I do see one oddity. On the first mac client Time Machine shows the disk as "<sharename> on timemachine.local". On the second mac the disk shows as "<sharename>on timemachine#2.local". Tried changing the advertised name but then Time Machine doesn't see the destination at all. Instance #1 run command- Quote root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='TimeMachine_m1_mini' --net='br0' --ip='10.0.1.21' -e TZ="America/New_York" -e HOST_OS="Unraid" -e HOST_HOSTNAME="Brunnhilde" -e HOST_CONTAINERNAME="TimeMachine_m1_mini" -e 'VOLUME_SIZE_LIMIT'='1 T' -e 'TM_USERNAME'='m1_mini' -e 'PASSWORD'='zUhkZ2nGRs2M8ytnmr3m' -e 'ADVERTISED_HOSTNAME'='timemachine' -e 'CUSTOM_SMB_CONF'='false' -e 'CUSTOM_USER'='false' -e 'DEBUG_LEVEL'='1' -e 'MIMIC_MODEL'='TimeCapsule8,119' -e 'EXTERNAL_CONF'='' -e 'HIDE_SHARES'='no' -e 'TM_GROUPNAME'='timemachine' -e 'TM_UID'='1000' -e 'SET_PERMISSIONS'='false' -e 'SMB_INHERIT_PERMISSIONS'='no' -e 'SMB_NFS_ACES'='yes' -e 'SMB_METADATA'='stream' -e 'SMB_PORT'='445' -e 'SMB_VFS_OBJECTS'='acl_xattr fruit streams_xattr' -e 'WORKGROUP'='WORKGROUP' -e 'TM_GID'='1000' -e 'SHARE_NAME'='timemachine_m1_mini' -l net.unraid.docker.managed=dockerman -l net.unraid.docker.icon='https://upload.wikimedia.org/wikipedia/de/f/f4/Time_Machine_%28Apple%29_Logo.png' -v '/mnt/user/m1_mini/':'/opt/m1_mini':'rw' --hostname timemachine 'mbentley/timemachine' 34dbb3710540bb8eb787b76fdddc29e23e0461a516e41384c396b20a0f10d95e The command finished successfully! Instance #2 (not working) run command- Quote root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='TimeMachine_jasper' --net='br0' --ip='10.0.1.22' -e TZ="America/New_York" -e HOST_OS="Unraid" -e HOST_HOSTNAME="Brunnhilde" -e HOST_CONTAINERNAME="TimeMachine_jasper" -e 'VOLUME_SIZE_LIMIT'='1 T' -e 'TM_USERNAME'='jasper' -e 'PASSWORD'='1234567890' -e 'ADVERTISED_HOSTNAME'='timemachine' -e 'CUSTOM_SMB_CONF'='false' -e 'CUSTOM_USER'='false' -e 'DEBUG_LEVEL'='1' -e 'MIMIC_MODEL'='TimeCapsule8,119' -e 'EXTERNAL_CONF'='' -e 'HIDE_SHARES'='no' -e 'TM_GROUPNAME'='timemachine' -e 'TM_UID'='1000' -e 'SET_PERMISSIONS'='false' -e 'SMB_INHERIT_PERMISSIONS'='no' -e 'SMB_NFS_ACES'='yes' -e 'SMB_METADATA'='stream' -e 'SMB_PORT'='445' -e 'SMB_VFS_OBJECTS'='acl_xattr fruit streams_xattr' -e 'WORKGROUP'='WORKGROUP' -e 'TM_GID'='1000' -e 'SHARE_NAME'='timemachine_jasperSMB' -l net.unraid.docker.managed=dockerman -l net.unraid.docker.icon='https://upload.wikimedia.org/wikipedia/de/f/f4/Time_Machine_%28Apple%29_Logo.png' -v '/mnt/user/jasper':'/opt/jasper':'rw' --hostname timemachine 'mbentley/timemachine' 117fbb09408c5670100695c599a0e6596b20b0f20c0b76b89dc0856bb841d9b1 The command finished successfully! Quote Link to comment
wgstarks Posted June 4, 2022 Share Posted June 4, 2022 It took me several days of trial and error to get this docker working for multiple macs so I decided to writeup the process and perhaps save someone else some headaches. In my case I followed the multiple user guide in the mbentley/docker-timemachine GitHub repo. DISCLAIMER: I'm not an expert on Time Machine or dockers and hopefully I haven't included any errors in this guide but there may be some. If you find any please let me know. Docker configuration screeshots- Most of these settings are left as default. Changes/additions needed: 1. You will need to create configuration files (example below) for each user you are adding. For EXTERNAL CONFIGURATION DIRECTORY variable add a path that is within the container for those files. I used /users since that's the path used in the GitHub example. You will also need to add a new path in the docker configuration to map the container path to the actual host path. Since I used my appdata folder for this the new path was /mnt/users/appdata/timemachine/:/users. 2. Each user must have a path set for the backup data mapped to /opt/<username> in the container. One path is already configured in the template. Additional paths must be added as needed. I let the docker create these shares (rather than me creating them ahead of time) so that they are configured properly. 3. Create the user configuration files mentioned above. These files must be named <username>.conf and each must have a unique TM_UID number. m1_mini.conf TM_USERNAME=m1_mini TM_GROUPNAME=timemachine PASSWORD=**************** SHARE_NAME=m1_miniSMB VOLUME_SIZE_LIMIT=”1 T” TM_UID=1001 TM_GID=1000 jasper.conf TM_USERNAME=jasper TM_GROUPNAME=timemachine PASSWORD=****************** SHARE_NAME=jasperSMB VOLUME_SIZE_LIMIT=”1 T” TM_UID=1002 TM_GID=1000 Note the unique TM_UID numbers. 4. After starting the docker and allowing it to create the shares configured open a terminal window and run this command adjusted to match the names of your shares and the proper UID and GID numbers. sudo chown -R <UID>:<GID> /mnt/user/<nameofshare>/ You will need to run this command for each user/share configured in the docker. After completing these steps start a TimeMachine backup and check the destination share to be sure TM is writing to a sparsebundle file in that share. I had multiple failures when trying to get this docker working because I had mapped paths incorrectly in the host paths as well as the container paths. This will cause the backup to write to your docker image and rapidly fill it, so catch it before it becomes a problem. 9 Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.