FIXED: This issue was caused by the mounted /root/.ssh path on the borgmatic end being protected. After making a new path within appdata and copying the necessary files from UnRaid's /root/.ssh, everything works without unexpected errors. I've left the below errors in case it helps someone else in the future.
I've got this working using b3vis/borgmatic:latest-msmtp on the client being backed up, and using nold360/borgserver:1.2.2 on the remote server. The only issue I have encountered (once it was all setup correctly, that is) is that each emailed report from the msmtp comes through as "Failed" due to an error. I know this isn't meant to be a borg support forum, but I've only encountered this while using this container so perhaps someone here knows what's going on?
I assumed that since the issues seems to be due to "Operation not permitted", it was a permissions problem. However, I can copy the file via command line when I docker exec -it into the local bormatic container with no problems, so that does not seem to be the case?
Remote: hostfile_replace_entries: link /root/.ssh/known_hosts to /root/.ssh/known_hosts.old: Operation not permitted
Remote: update_known_hosts: hostfile_replace_entries failed for /root/.ssh/known_hosts: Operation not permitted
ssh://
[email protected]:PORT/backup/SERVERNAME: Error running actions for repository
Command 'borg check --glob-archives backup-* ssh://
[email protected]:PORT/backup/SERVERNAME' returned non-zero exit status 2.
Error during prune/create/check.
/etc/borgmatic.d/config.yaml: Error running configuration file
summary:
/etc/borgmatic.d/config.yaml: Error running configuration file
ssh://
[email protected]:PORT/backup/SERVERNAME: Error running actions for repository
Remote: hostfile_replace_entries: link /root/.ssh/known_hosts to /root/.ssh/known_hosts.old: Operation not permitted
Remote: update_known_hosts: hostfile_replace_entries failed for /root/.ssh/known_hosts: Operation not permitted
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/borg/remote.py", line 240, in serve
res = f(**args)
File "/usr/lib/python3/dist-packages/borg/repository.py", line 1039, in check
objects = list(self.io.iter_objects(segment))
File "/usr/lib/python3/dist-packages/borg/repository.py", line 1512, in iter_objects
size, tag, key, data = self._read(fd, self.header_fmt, header, segment, offset,
File "/usr/lib/python3/dist-packages/borg/repository.py", line 1606, in _read
data = fd.read(length)
OSError: [Errno 5] Input/output error
Borg server: Platform: Linux 1e2c94ae5f5a 5.19.17-Unraid #2 SMP PREEMPT_DYNAMIC Wed Nov 2 11:54:15 PDT 2022 x86_64
Borg server: Linux: Unknown Linux
Borg server: Borg: 1.2.3 Python: CPython 3.10.9 msgpack: 1.0.3 fuse: None [pyfuse3,llfuse]
Borg server: PID: 343 CWD: /backup/SERVERNAME
Borg server: sys.argv: ['/usr/bin/borg', 'serve', '--restrict-to-path', '/backup/SERVERNAME']
Borg server: SSH_ORIGINAL_COMMAND: 'borg serve'
Platform: Linux 990a970c11d1 5.15.46-Unraid #1 SMP Fri Jun 10 11:08:41 PDT 2022 x86_64
Linux: Unknown Linux
Borg: 1.2.2 Python: CPython 3.10.8 msgpack: 1.0.4 fuse: llfuse 1.4.2 [pyfuse3,llfuse]
PID: 108 CWD: /
sys.argv: ['/usr/local/bin/borg', 'check', '--glob-archives', 'backup-*', 'ssh://
[email protected]:PORT/backup/SERVERNAME']
SSH_ORIGINAL_COMMAND: None
Command 'borg check --glob-archives backup-* ssh://
[email protected]:PORT/backup/SERVERNAME' returned non-zero exit status 2.