Skip to content

docs: document data locations and resource limits - #89

Draft
sanity wants to merge 2 commits into
mainfrom
docs/config-and-resource-limits
Draft

docs: document data locations and resource limits#89
sanity wants to merge 2 commits into
mainfrom
docs/config-and-resource-limits

Conversation

@sanity

@sanity sanity commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Problem

A user on Matrix asked: "Where is the data stored on my mac and how can I limit how much resources I want to dedicate to the network?"

Neither answer is on the site. The only place a data path appears is the uninstall guide, in the context of deleting it, and nothing documents config.toml or any resource setting.

Approach

New /configuration/ page with:

  • Per-OS table of data, config, and log locations (macOS / Linux / Windows).
  • How to change settings: edit the generated config.toml, restart. Includes the two failure modes worth warning about (a hand-written partial file fails to parse and the peer won't start; deleting config.toml regenerates it without touching data or keys).
  • The resource settings that matter, with defaults: max-hosting-storage, hosting-disk-pct, max-hosting-disk, module-cache-budget-bytes, max_blocking_threads, min/max-number-of-connections, total_bandwidth_limit, bandwidth_limit.
  • An example config for a peer that stays out of the way on a laptop.

Linked from the FAQ (new entry) and the quickstart troubleshooting section. No menu entry, matching how /uninstall/ is surfaced.

Verification

Every path, key name, and default was read out of freenet-core main rather than recalled:

  • Paths: crates/core/src/config.rs (ProjectDirs::from("", "The Freenet Project Inc", "Freenet")) and crates/core/src/tracing/tracer.rs::get_log_dir. The macOS path matches the one already in the uninstall guide.
  • Defaults: crates/core/src/ring/hosting/cache.rs (RAM/8 clamped 128 MiB–1 GiB; disk pct 0.5; 32 GiB cap), crates/core/src/ring.rs (min 25 / max 200 connections), config.rs (3 MB/s streaming cap, 2x cores blocking threads).
  • TOML key spellings taken from the Config serde attributes, which is what the file is written from, not the CLI arg names (they differ: the file uses total_bandwidth_limit, the flag is --total-bandwidth-limit).
  • Restart instructions: the macOS .app runs freenet service run-wrapper (tray, with a Restart item), and both the launchd wrapper and the systemd unit invoke plain freenet network, so config.toml really is the only channel for a service install.

hugo builds clean; both cross-links resolve in the rendered output.

Draft because the wording is worth a pass before it goes live.

[AI-assisted - Claude]

🤖 Generated with Claude Code

https://claude.ai/code/session_01Nt3ybmxRb7F3vVfpANnZQ5

sanity and others added 2 commits July 27, 2026 21:36
Users ask where Freenet keeps its data and how to cap what the peer
uses, and the answer wasn't on the site. The only place a data path
appeared was the uninstall guide, in the context of deleting it.

Adds /configuration/ with the per-OS data, config, and log paths, how
to edit config.toml and restart, and the resource settings that matter
(hosting storage budget, module cache, blocking threads, connection
counts, bandwidth limits) with their defaults and an example config for
a light-touch peer. Linked from the FAQ and quickstart troubleshooting.

Values verified against freenet-core main (crates/core/src/config.rs,
ring/hosting/cache.rs, tracing/tracer.rs) as of 0.2.112.

[AI-assisted - Claude]

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Nt3ybmxRb7F3vVfpANnZQ5
[AI-assisted - Claude]

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Nt3ybmxRb7F3vVfpANnZQ5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant