Files
musenalm/README.md
Simon Martens b0a57884bf +Datenexport
2026-01-28 17:26:04 +01:00

2.2 KiB

Musenalm

Bibliographie deutscher Almanache des 18. und 19. Jahrhunderts. Runs as a PocketBase-based web app with SQLite storage.

Commands

Local build (dev assets + sqlite tags used in this repo):

./scripts/build.sh

Manual build equivalent:

go build -tags=dev,fts5,sqlite_icu -o ./tmp/musenalm .

Run (as used in the Docker image):

./scripts/run.sh

Docker image build:

./scripts/docker.sh

Reset local data directory:

./scripts/reset.sh

Docker Compose (prod/stage):

docker compose up --build
docker compose -f stage.docker-compose.yml up --build

Build prerequisites

  • Go 1.24 (see go.mod, also used in Dockerfile).
  • SQLite build tags used in this repo:
    • Local/dev build: dev,fts5,sqlite_icu (see scripts/build.sh).
    • Docker build: sqlite_fts5,sqlite_json,sqlite_foreign_keys,sqlite_vtable (see Dockerfile).
  • The dev build tag serves templates/assets from disk (no embedding). Without it, assets are embedded into the binary.

Configuration

Config files are loaded in this order, later values override earlier ones:

  1. config.dev.json (dev defaults)
  2. config.json (runtime overrides)
  3. Environment variables with prefix MUSENALM_

Options

debug (bool)
Enables PocketBase dev mode and, unless disable_watchers is true, turns on template watchers.

allow_test_login (bool)
Creates/keeps a test superuser account (demo@example.com / password). When false, the test account is removed if present.

disable_watchers (bool)
Disables template watchers even if debug is true.

Environment variable equivalents:

  • MUSENALM_DEBUG
  • MUSENALM_ALLOW_TEST_LOGIN
  • MUSENALM_DISABLE_WATCHERS

Hosting

docker-compose.yml runs the app on port 8090 and persists data in /app/data/pb_data via an external volume.

Prereqs:

docker volume create musenalm
docker network create caddynet

Start:

docker compose up --build

Stage uses stage.docker-compose.yml and a separate external volume musenalmstage.

Bare binary

Build the binary, then run it with a data directory:

./tmp/musenalm serve --http=0.0.0.0:8090 --dir=/path/to/pb_data