A Docker container for cataloging audiobooks, intended for use on an Unraid server.
LOG_LEVEL
: Optional. Passed to pino. Sanitized: options aretrace
,debug
,info
,warn
,error
. Defaults toinfo
.
Audiobooks should be mounted at /audiobooks
.
The database will be placed in /db/
or the directory mounted at DB_DIR
.
Certain command-line utilities are included in the container (located at
.build/bin
). They will respond to -h
/--help
for more information:
removeTag
: For safety, tags can only be deleted through the UI if they are not associated with any audiobooks. This utility can be used to remove one or multiple tags, including those associated with audiobooks (with-f
).
.audiobooks
will be mounted at /audiobooks
and is gitignored; you can use it
to work in a local environment.
This repo adhere's to GitHub's Scripts to Rule Them All pattern.
script/setup
: creates a new Docker image for dev, ignoring cachescript/update
: builds the dev Docker image, using cache if possible. In most cases,script/update
is all you need andscript/setup
is unnecessary.script/migrate
: exposes the Umzug CLI inside the dev container. If no arguments are passed,up
is assumed.script/server
: runsscript/update
and then starts dev server inside generated Docker image. Server will be visible at http://localhost:6541.script/test
: runsscript/update
and runsnpm test
inside it. Extra arguments will be passed as arguments tonpm test
, e.g.script/test -u
to update Jest snapshots.