Messages room info to a private chat network. Everyone subscribed gets the link. Full image version.
102
Open a room on a chat network, and everyone who subscribed on any chat network gets a way into it. Supports Tor, I2P, Reticulum party lines, and WebRTC browser links. Fans credentials to nine chat networks. No database, no accounts, nothing remembered.
| Architecture | Tag |
|---|---|
| x86-64 | amd64 |
Pull and run the web terminal. Configure adapters, policy, and providers through a browser.
Save as docker-compose.yml, then run docker compose up -d:
services:
party-line-pager:
image: marcusholtz/party-line-pager-full:latest
container_name: party-line-pager
restart: unless-stopped
ports:
- "7681:7681"
volumes:
- ./config:/config
environment:
- TTYD_CREDENTIAL=admin:changeme
Open http://<host>:7681 and follow the wizard.
docker run -d \
--name party-line-pager \
--restart unless-stopped \
-p 7681:7681 \
-v ./config:/config \
-e TTYD_CREDENTIAL=admin:changeme \
marcusholtz/party-line-pager-full:latest
http://<host>:7681 in a browsertor, i2p, rns, web)/config automaticallyAbout five minutes of configuration, then a 20+ minute first build you can walk away from.
Run the daemon without a web terminal. Requires valid config from a prior wizard run.
services:
party-line-pager:
image: marcusholtz/party-line-pager-full:latest
container_name: party-line-pager
restart: unless-stopped
volumes:
- ./config:/config
environment:
- PLP_HEADLESS=1
- PLP_PROVIDERS=tor,i2p,rns,web
- TELEGRAM_TOKEN=your-bot-token
docker run -d \
--name party-line-pager \
--restart unless-stopped \
-v ./config:/config \
-e PLP_HEADLESS=1 \
-e PLP_PROVIDERS=tor,i2p,rns,web \
-e TELEGRAM_TOKEN=your-bot-token \
marcusholtz/party-line-pager-full:latest
No ttyd, no wizard, no port 7681. Administration is docker exec only:
docker exec party-line-pager party-line-pagerctl --state /config/state roster
docker exec party-line-pager party-line-pagerctl --state /config/state pause
| Parameter | Function |
|---|---|
-p 7681:7681 | Web terminal (wizard and admin) |
-v /config | Persistent config, state, and secrets |
-e TTYD_CREDENTIAL | Basic auth for the web terminal (user:password) |
-e PLP_PROVIDERS | Comma-separated transports: tor, i2p, rns, web |
-e PLP_AUTO_START=0 | Start daemon on boot (0/1; requires valid config) |
-e PLP_HEADLESS=0 | Daemon-only, no web terminal (0/1) |
-e PLP_WEB_BASE_URL | Video call instance URL for web rooms |
Enable an adapter by providing its credentials. Only enabled adapters receive room notifications.
| Parameter | Function |
|---|---|
-e TELEGRAM_TOKEN | Bot token from @BotFather |
-e DISCORD_TOKEN | Bot token from the Discord Developer Portal |
-e MATRIX_HOMESERVER | Matrix homeserver URL |
-e MATRIX_USER | Matrix bot username |
-e MATRIX_PASSWORD | Matrix bot password |
-e IRC_SERVER | IRC server hostname |
-e IRC_NICK=party-line-pager | IRC bot nickname |
-e IRC_CHANNEL | IRC channel to idle in |
-e IRC_PASSWORD | NickServ password for SASL PLAIN |
-e XMPP_JID | XMPP JID for the bot |
-e XMPP_PASSWORD | XMPP account password |
-e MASTODON_INSTANCE | Mastodon instance URL |
-e MASTODON_TOKEN | Mastodon application token |
-e MATTERMOST_URL | Mattermost server URL |
-e MATTERMOST_TOKEN | Mattermost access token |
-e SIGNAL_NUMBER | Signal phone number in E.164 format |
-e EMAIL_SMTP_HOST | SMTP server hostname |
-e EMAIL_FROM | From address for outgoing email |
A subscriber sends a command (tor, i2p, rns, or web) on any connected chat network. The engine:
One room at a time. No occupancy tracking, no catch-up, no record of who joined.
# Logs: look for "party-line-pagerd is up"
docker logs party-line-pager
# Processes: tini, ttyd (if not headless), party-line-pagerd
docker exec party-line-pager ps aux
# Roster check:
docker exec party-line-pager party-line-pagerctl --state /config/state roster
Three transports, same encryption, same TUI:
PartyLinePager orchestrates all three (plus WebRTC) and fans credentials across nine chat networks.
MIT
Content type
Image
Digest
sha256:8231360a6…
Size
257.7 MB
Last updated
10 days ago
docker pull marcusholtz/party-line-pager-full