-
|
Followed these: https://github.com/marcpope/borgbackupserver/wiki/Docker-Installation I created it beforehand, later on I even created all folders which are supposed to be directly inside this folder according to the linked docs. I'm pretty sure this is a permission issue. What user is used on this docker image for the different services? i.e. mysql? |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 1 reply
-
|
Seems fixed with: |
Beta Was this translation helpful? Give feedback.
-
|
OK, I would really like to use bind mounts instead of named volumes. Unfortunately, the docs are unclear, which folder needs what permissions. Have a look at this auto-generated mess. 1000 is my user, I then had to change ownership of bbs folder to root to even get started. As you can see, ID 33 is now also involved. I'm going back to named volumes for these first tests but would really appreciate any pointer on how to switch to bind volumes and what folder needs which ownership. |
Beta Was this translation helpful? Give feedback.
-
|
Running into the same issues with mounted volumes. Cannot create clients etc. due to permission issues. E.g.: |
Beta Was this translation helpful? Give feedback.
-
|
You're right that bind mounts are painful here. The root cause is that BBS runs multiple services under different UIDs inside one container (MariaDB as UID 100, ClickHouse as UID 999, Apache/PHP as www-data UID 33, and root for config/SSH keys). Named volumes hide this entirely. Bind mounts expose it, and if your host filesystem blocks the entrypoint's Easy path: named volumeIf you just want it to work, use the default docker-compose.yml with a named volume ( If you really need a bind mountThe entrypoint chowns each subdirectory to the right service user on first start. What you're hitting is that your host environment is preventing those chowns from sticking. Common causes:
If none of those apply, the bind-mount subdirectories must match these UIDs:
I've updated the Docker-Installation wiki page with all of this — see the "Bind Mount Troubleshooting" and "Required subdirectory ownership" sections. Don't install BBS on a server that has other servicesSeparately, worth calling out — BBS is designed to be the only application in its container (or on its host for the standard install). It manages its own MariaDB, ClickHouse, Apache, SSH daemon, and system users. If you're trying to install it alongside an existing workload you'll fight it constantly. If you want to back up your other servers, install the BBS agent on them — it's a tiny Python daemon that pushes backups to your BBS instance. I've added that warning to the wiki too. |
Beta Was this translation helpful? Give feedback.
-
|
I made a fork of your repo and made it work on my own machine (Synology NAS). You have a more in-depth insight into your own app, so maybe you can say if this is a bad solution or not. Edit: |
Beta Was this translation helpful? Give feedback.
You're right that bind mounts are painful here. The root cause is that BBS runs multiple services under different UIDs inside one container (MariaDB as UID 100, ClickHouse as UID 999, Apache/PHP as www-data UID 33, and root for config/SSH keys). Named volumes hide this entirely. Bind mounts expose it, and if your host filesystem blocks the entrypoint's
chowncalls — which happens with rootless Docker, SELinux, or network mounts — every service that can't write to its own directory crashes.Easy path: named volume
If you just want it to work, use the default docker-compose.yml with a named volume (
bbs-data:/var/bbs). That's how the project is designed to run, and it's what we test against.…