Commit graph

3 commits

Author SHA1 Message Date
ookami125
8ca1cf3371 docker: run as configurable PUID/PGID (default 99:100 for unraid)
The image ran as a hardcoded uid 1000, which doesn't match NAS shares
(unraid files are nobody:users = 99:100), so moving completed files onto
the share failed with EACCES (surfaced as a generic "i/o error").

Drop the baked-in user and instead start the entrypoint as root, chown
the daemon's own state (/data, /run/naut) to PUID:PGID, then gosu down to
that uid:gid before exec'ing nautd. The downloads share is left untouched
so its ownership comes from the host/NFS export. PUID/PGID default to
99:100 so writes to /mnt/user shares work out of the box; override per
your storage owner.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 01:14:37 -04:00
ookami125
eb226b4af3 docker: ship anime_sort.lua but don't load a script by default
Bundle the example Lua scripts under /app/scripts and have the entrypoint
load one only when NAUT_SCRIPT is set. NAUT_SCRIPT is left unset by
default, so the daemon starts with no script; set it (e.g.
/app/scripts/anime_sort.lua) to opt in.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 00:30:21 -04:00
ookami125
d87603fbbe build: add Dockerfile to compile and run Naut from source
Multi-stage build that compiles nautd, nautctl, and the webui plugin
(plus the external engine submodules) at image build time, so a rebuild
is the only thing that changes the running version. The runtime stage
ships only the binaries, the two submodule shared libs, the static
torrent-ui assets, and the runtime shared libraries, running as a
non-root user.

Defaults bind the web UI on 0.0.0.0:8080 with data under /data (state +
webui.db) and downloads under /downloads, both as volumes; all tunables
are overridable via -e. A .dockerignore keeps build output, VCS data,
and local downloads/databases out of the context.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 23:10:30 -04:00