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.1.tar.gz (47.1 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.1-py3-none-any.whl (36.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: solstone_tmux-0.3.1.tar.gz
  • Upload date:
  • Size: 47.1 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.1.tar.gz
Algorithm Hash digest
SHA256 5f30e7899208b72567926b3d892d8a95e3063b2031cc39ef4caf0563c580e05d
MD5 3458a74abb0fafd195311b3ac75855b9
BLAKE2b-256 a257745c46c3977187297fa1c1a1a6a68eaf412d54d81d1545419c40895f6ee3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: solstone_tmux-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 36.8 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5369d9f9f2c7ecbac4722c1676f7349ba12a44c35beb2a14242cd9e01296245b
MD5 020d76f3e03ba3a7639e0f90434fe652
BLAKE2b-256 0e49c1c4f397940e866616cd3799f3bb256156baf03b869e2a73f20b582a1756

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