docs: add production deployment example with volumes and .env

- docker/docker-compose.prod.yml: pulls image from 192.168.0.19:5000,
  mounts config/, wiki/ and db/ as separate volumes, health check, TZ support
- .env.example: fully commented template for all env vars
- .gitignore: ignore .env, always track .env.example
- README: deployment section with step-by-step guide, volume table, backup commands
- config.go: default db_path to /data/db/archivum.db (matches prod volume layout)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-10 13:54:39 +02:00
parent d0db5cd59d
commit 66eafd9d3c
5 changed files with 222 additions and 0 deletions

51
.env.example Normal file
View File

@@ -0,0 +1,51 @@
# ── Archivum — environment variables example ──────────────────────────────────
# Copy to .env and edit before running docker-compose.prod.yml
#
# cp .env.example .env
#
# Lines starting with # are comments and are ignored.
# ──────────────────────────────────────────────────────────────────────────────
# ── Registry ───────────────────────────────────────────────────────────────────
# Address of your private Docker registry.
REGISTRY=192.168.0.19:5000
# Image tag to pull. Use a specific digest in production for reproducible deploys.
# IMAGE_TAG=sha256:abc123...
IMAGE_TAG=latest
# ── Host paths ─────────────────────────────────────────────────────────────────
# Base directory — all data lives under this path.
# Adjust to wherever you want to store Archivum data on the host.
ARCHIVUM_BASE=/opt/archivum
# Configuration directory (config.json, settings.json).
# The Setup Wizard will create config.json here on first access.
ARCHIVUM_CONFIG=/opt/archivum/config
# AsciiDoc wiki files + git repository root.
ARCHIVUM_WIKI=/opt/archivum/wiki
# SQLite database directory.
# The database file will be created as archivum.db inside this directory.
ARCHIVUM_DB=/opt/archivum/db
# ── Network ────────────────────────────────────────────────────────────────────
# Port exposed on the host. Access the app at http://<host>:HOST_PORT
HOST_PORT=8080
# ── File system permissions ─────────────────────────────────────────────────────
# UID and GID of the user that owns the host directories above.
# Run `id` on the host to find the correct values.
# Using 1000:1000 is fine if you created the directories as your own user.
PUID=1000
PGID=1000
# ── Timezone ───────────────────────────────────────────────────────────────────
# Used for git commit timestamps. See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
TZ=Europe/Stockholm