Configuration
Arcagrad is built to need almost no configuration. The two volumes and the port from the Install page are all Docker needs — there’s no config file or environment variables to set up. Everything else is managed inside the app once it’s running.
The container listens on port 3000. Map it to whatever host port you like with -p:
-p 8080:3000 # reach Arcagrad at http://localhost:8080HTTPS and a domain
Section titled “HTTPS and a domain”On a home network you can use Arcagrad over plain HTTP. To reach it from anywhere on a real domain with automatic HTTPS, put it behind a reverse proxy. Caddy is the simplest — a two-line config gets you a certificate:
arcagrad.example.com { reverse_proxy localhost:3000}Running as your own user
Section titled “Running as your own user”The container runs as root by default, so a mounted /data is writable with no
setup. If you’d rather it run as your host user — so files it writes are owned by you —
pass --user (or set user: in compose):
--user 1000:1000Health checks
Section titled “Health checks”The image ships with a built-in health check against /health, so docker ps
reports the container as healthy once it’s ready to serve. Point a reverse proxy or an
uptime monitor at the same path — it returns 200 OK when Arcagrad is up.
Updating
Section titled “Updating”Pull the newer image and recreate the container. Your library and everything in /data
carry over untouched:
docker compose pulldocker compose up -dBackups
Section titled “Backups”Everything Arcagrad generates — the index, thumbnails, tags, reading progress — lives in
/data. Back it up and you’ve saved all of it; your library files
are backed up separately, wherever you keep them.
Everything else is in the app
Section titled “Everything else is in the app”Accounts, metadata plugins, per-kind settings, and source credentials are all managed from the admin area inside Arcagrad. There’s nothing to edit in a file on disk.