Files
volumen/docs/configuration.md
T

1.4 KiB

Configuration

Status: initial draft. Field semantics are finalised as the loader lands.

volumen is configured by a single TOML file. By default it lives at /etc/volumen/config.toml and is auto-generated on first start. CLI flags passed to volumen serve override the file.

Example config.toml

[server]
host = "0.0.0.0"
port = 9090

# Directory containing your Markdown posts.
content_dir = "/var/lib/volumen/posts"

[site]
title = "My Blog"
description = "A blog powered by volumen."
base_url = "https://example.com"
language = "en"
author = "Anonymous"

[admin]
# scrypt hash produced by `volumen hash-password`.
password_hash = ""
# Secret used to sign session cookies. Leave empty to auto-generate per start
# (sessions reset on restart).
session_key = ""
# Session lifetime in seconds (default 24h).
session_ttl = 86400

CLI overrides

volumen serve --config /etc/volumen/config.toml \
              --content ./posts \
              --host 127.0.0.1 \
              --port 9000

Why TOML

  • First-class datesdate = 2026-01-15 is a real date, not a string.
  • Explicit typing — no YAML-style implicit coercion (no → false, etc.).
  • No whitespace pitfalls — indentation is not significant.

The same format is used for post frontmatter; see the post format section in the project README.md.