Skip to content
Discussion options

You must be logged in to vote

Running compose as root is exactly why it looks confusing: the containers do not run as root.

Both images drop privileges:

Container Runs as Bind mount
raymail-stalwart uid 2000 (stalwart) ./stalwart/etc, ./stalwart/data
raymail-web uid 1001 (raymail) ./data

When Docker creates a missing bind-mount source directory it makes it root-owned. The unprivileged process inside then cannot write to it, so RocksDB fails on its very first append and Stalwart exits. The web container hits the same wall a moment later when it tries to create its SQLite file.

Fix

cd raymail
mkdir -p stalwart/etc stalwart/data/logs data
sudo chown -R 2000:2000 stalwart/etc stalwart/data
sudo chown -R 1001:1…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by DeveloperSarim
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
1 participant