Observed since 20 Oct, 17:40 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
A host's toolserver setup from a package: shared venv, hub node, router, log capture, nginx site, session hooks, per-account audit + activity log, one node per user.
The host setup around abstract_toolserver as a package, so a host can be rebuilt from PyPI alone. Run as root:
abstract-host capture # write /etc/abstract-host/host.json from the live host
abstract-host status # what install would change (dry run)
abstract-host install [--only hub,router,…] [--dry-run]
install is idempotent: it writes only what differs, restarts only units whose files
changed, and reports ok / changed per item.
| component | what it maintains |
|---|---|
| venv | the shared venv every node runs from (abstract_toolserver[server,db]) |
| users | every node account exists with its home (system accounts created if missing) |
| hub | the host node unit, TOOLSERVER_PERMIT_HUB=1, journal tag |
| router | the public session/operator router unit |
| logs | log capture into the hub DB (abstract-toolserver logs follow) |
| nginx | the router's public site (+ Secure Files paths) via the abstract-nginx tier gate |
| hooks | SessionStart abstract-toolserver session register --hook in settings files |
| accounts | per watched account: audit rules (its uid anywhere + a watch on its home), ONE abstract-host-activity.service writing /var/log/<user>/activity.log (what the account does, wherever) and home.log (what anyone does inside its home), logrotate, home ACLs, linger, door key |
| nodes | abstract-toolserver node install for every node in the manifest |
tool_venvs in the manifest are upgraded by abstract-toolserver node update alongside the nodes.
pypistats · 11 observations shown. Missing days are unknown. Source category: overall: without mirrors.
| Date / source period | Value | Observed at |
|---|---|---|
| 2026-10-19 – 2026-10-19 | 5 | 2026-10-20T22:18:36.1354586Z |
| 2026-10-18 – 2026-10-18 | 1 | 2026-10-20T22:18:36.1354586Z |
| 2026-10-16 – 2026-10-16 | 2 | 2026-10-20T22:18:36.1354586Z |
| 2026-10-15 – 2026-10-15 | 11 | 2026-10-20T22:18:36.1354586Z |
| 2026-10-14 – 2026-10-14 | 1 | 2026-10-20T22:18:36.1354586Z |
| 2026-10-13 – 2026-10-13 | 9 | 2026-10-20T22:18:36.1354586Z |
| 2026-10-12 – 2026-10-12 | 1 | 2026-10-20T22:18:36.1354586Z |
| 2026-10-11 – 2026-10-11 | 8 | 2026-10-20T22:18:36.1354586Z |
| 2026-10-10 – 2026-10-10 | 23 | 2026-10-20T22:18:36.1354586Z |
| 2026-10-09 – 2026-10-09 | 78 | 2026-10-20T22:18:36.1354586Z |
| 2026-10-08 – 2026-10-08 | 313 | 2026-10-20T22:18:36.1354586Z |
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.0.5 | 8 Oct 2026 | 0 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 17:40 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:2594e0144b9998c1257289560ace0e7ef65562646430c4db6367a7d2332867c3