Skip to main content

Standalone tmux terminal observer for solstone

Project description

solstone-tmux

Standalone tmux terminal observer for solstone. Experiences your tmux sessions along with you, accumulating observations to a local cache and syncing them to your journal.

Install

solstone (the journal) must already be installed and running on the host this observer reports to. If it isn't, start here: https://solstone.app/install.

On the machine that will host the observer:

pipx install solstone-tmux
solstone-tmux install-service
solstone-tmux setup

setup registers the observer against your journal over the local http://localhost:5015 link, so there's no URL to type. If this machine reaches your solstone host directly instead, run solstone-tmux setup --server-url <journal-url>.

From source

For working on solstone-tmux itself:

git clone https://github.com/solpbc/solstone-tmux.git
cd solstone-tmux
make install-service

This installs the solstone-tmux command via pipx and writes the systemd user unit. The manual setup steps below cover registration and config.

Manual setup

If solstone-tmux setup isn't a good fit (no interactive shell, scripted provisioning, custom config layout), work through these steps by hand.

1. Register an observer with your journal

sol observer create solstone-tmux

This prints the journal URL and API key. You'll need both for the next step.

2. Write the config

Create ~/.local/share/solstone-tmux/config/config.json:

{
  "server_url": "http://localhost:5015",
  "key": "<api-key-from-sol-observer-create>",
  "stream": "<hostname>.tmux",
  "capture_interval": 5,
  "segment_interval": 300
}

Set stream to <your-hostname>.tmux (e.g., fedora.tmux, archon.tmux). This matches the stream naming convention used by the built-in observers.

Alternatively, solstone-tmux setup registers against your journal automatically — over the local http://localhost:5015 link by default, or pass --server-url for a direct-to-remote journal.

3. Install the systemd service

solstone-tmux install-service

This writes the unit file to ~/.config/systemd/user/solstone-tmux.service, enables it, and starts it.

4. Verify

systemctl --user status solstone-tmux
solstone-tmux status
sol observer list  # should show the observer as "connected"

Manual run

solstone-tmux run         # foreground, ctrl-c to stop
solstone-tmux run -v      # verbose/debug logging

How it works

  • Polls all active tmux sessions every 5 seconds for content changes
  • Accumulates observations in 5-minute segments under ~/.local/share/solstone-tmux/captures/
  • Background sync service uploads completed segments to your journal
  • Works offline — syncs when your journal is reachable
  • Recovers incomplete segments on startup after crashes

Commands

Command What it does
solstone-tmux run Start capture + sync (default if no subcommand)
solstone-tmux setup Interactive config wizard
solstone-tmux install-service Install and start systemd user service
solstone-tmux status Show observer state, sync state, cache size

License

AGPL-3.0-only. Copyright (c) 2026 sol pbc.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

solstone_tmux-0.3.0.tar.gz (46.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

solstone_tmux-0.3.0-py3-none-any.whl (36.7 kB view details)

Uploaded Python 3

File details

Details for the file solstone_tmux-0.3.0.tar.gz.

File metadata

  • Download URL: solstone_tmux-0.3.0.tar.gz
  • Upload date:
  • Size: 46.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for solstone_tmux-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c7b6c658b8e64665dc89121ad5bfa93ad311cba94ce6d509fa207e00763c4d2a
MD5 cb27953a07668998f7aecac5725952f8
BLAKE2b-256 a7aff282976ad02eba2e3136a5527bd95b7ef81e69807bf44dfaebef1014ffab

See more details on using hashes here.

File details

Details for the file solstone_tmux-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: solstone_tmux-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 36.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for solstone_tmux-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1fb002333b35f371d5c240f75b399eacd22f446ff6084dd25f60bb8a003bcabb
MD5 165fa90578c09580bc152c017ac7d5df
BLAKE2b-256 580673bbe158b079a6393ced51793c1c45eca99bb1a47c5c437dfca243e6b267

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page