Hi,
I’m using uroni’s Docker container on Openmediavault 5 (amd64). From the previous installation of urbackup as plugin in OMV4 I have existing backups and the database on a btrfs filesystem, which I like to use in the container. I’ve bound the backups folder to /backups and the database folder to /var/backup with write access (I think). When starting the container, I get
Raising nice-ceiling to 35 failed. (errno=1)
2020-07-07 22:25:11: Starting HTTP-Server on port 55414
2020-07-07 22:25:11: HTTP: Server started up successfully!
2020-07-07 22:25:11: Generating Server identity…
2020-07-07 22:25:11: Generating Server private/public ECDSA key…
2020-07-07 22:25:11: Calculating public key…
2020-07-07 22:25:11: ERROR: Main thread exit with unhandled std::exception FileSink: error opening file for writing: urbackup/server_ident_ecdsa409k1.priv
terminate called after throwing an instance of ‘CryptoPP::FileSink::OpenErr’
what(): FileSink: error opening file for writing: urbackup/server_ident_ecdsa409k1.priv
Does anyone have an idea, what’s going wrong? I’m using portainer to administrate containers, so hints on how to correct in the portainer UI would be highly appreciated.
My guess is that you are confusing paths inside and outside the container.
Also maybe try to create /usr/local/var/urbackup/
If using a new/different path, you want to put your server_ident* keys in place of the ones it creates as to authorise the clients to connect more transparently.
I’m something of a Docker noob - but on the Synology Docker application, it’s possible to open a new Terminal session running in the container - which you can then use to explore the filesystem.
Is that possible in Portainer?
@Moisie I’m also a Docker noob, but due to the container not starting up, I cannot open a terminal. This only seems possible if the container is up and running.
@uroni UID + GID are probably the right track. This are the access settings on the host:
me@omv:/srv/…/bak/urbackup$ ls -l
-rwxrwx—+ 1 urbackup users 335 Jun 30 01:02 server_ident.priv
I guess the user running the container is not the owner, nor part of the group. How do I have to set these correctly? Or can I force the container to run under the (old) urbackup user on the host?
translate settings in docker-compose.yml from https://github.com/uroni/urbackup-server-docker to portainer. Most of the entries can be found easily in portainer’s “Add container” dialogue. In advanced container settings
– “Command & logging”: leave everything on default (do not set user)
– “Volumes”: /backups and /var/urbackup bind to paths with existing folders on host
– “Network”: set network to host
– “Env”: set PUID and PGID to UID and GID from host (see /etc/passwd), set TZ to timezone, e.g. Europe/Berlin
– “Restart Policy”: Unless stopped
– “Capabilities”: switch on SYS_ADMIN
Click “Deploy the container” and wait, as the old settings will be imported and reindexing takes time. Check Log under Containers Quick actions
Open urbackup frontend on …:55414, switch to settings and change Backup storage path to /backups
These steps did it in my case.