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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions