Skip to content

[Docs]: README should document ownership requirement for bind-mounted data directory (container runs as non-root octobus user) #485

Description

@wanliqin

Summary

The README quick-start only shows a named volume:

docker run --rm -p 9000:9000 -v octobus-data:/var/lib/octobus ghcr.io/chaitin/octobus:latest

When a host bind mount is used instead (common on servers, e.g. -v /srv/octobus-data:/var/lib/octobus), the container fails to start or misbehaves if the host directory is owned by root, because the image runs as the non-root octobus system user (docker/Dockerfile: groupadd --system octobus && useradd --system ... && USER octobus, typically uid/gid 999 on Debian) and cannot write to /var/lib/octobus.

Named volumes work because Docker initializes them from the image directory's ownership; bind mounts bypass that.

Suggestion

Document the requirement in the README deployment section, e.g.:

mkdir -p /srv/octobus-data
sudo chown -R 999:999 /srv/octobus-data   # container runs as the octobus system user
docker run -d -p 9000:9000 -v /srv/octobus-data:/var/lib/octobus ghcr.io/chaitin/octobus:latest

(Optionally print the container's actual uid/gid at build time, since --system uid allocation can vary.)

Environment

  • ghcr.io/chaitin/octobus:latest (2026-07), Ubuntu 22.04 host, Docker 26
  • Symptom before chown: container exits / fails to initialize state under the bind-mounted data directory

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions