Trusted Servants Pro Trusted Servants Pro
Content management for recovery fellowships

Your fellowship's entire web presence, in one place.

Meeting schedules, a literature library, events, stories, a blog, a drag-and-drop page builder, analytics, backups — public site and admin backend, run from a single app you control.

Fully interactive demo. Edit anything — your changes are private to your session and reset automatically. Nothing you do is permanent.

localhost:8090/tspro · dashboard
The Trusted Servants Pro admin dashboard
20+built-in modules, all toggleable
100%your data — self-hosted, no per-seat fees
1command to deploy with Docker
Freeopen source & self-hosted
Two surfaces, one app

A polished public site, and the backend to run it.

Members get a fast, themeable website. Trusted servants get a friendly admin area with roles, audit logs, and backups. The demo lets you walk through both.

The frontend

A website members actually want to use

Meeting schedules with live "happening now" badges, a browsable literature library, events, recovery stories, a blog, and a visual page builder — wrapped in a theme you control down to the design tokens.

  • Day/time schedule, in-person · online · hybrid, with one-click Zoom join
  • Drag-and-drop pages, light/dark mode, custom fonts & colors
  • Stories, blog, events & announcements, fellowships index

See the public site →

meridianrecovery.example
The public fellowship homepage
The backend

An admin area built for volunteers

Three roles, an audit trail, a recycle bin, visitor analytics, scheduled off-site backups, and a one-screen restore. Powerful where it needs to be, gentle for the trusted servant doing it after their day job.

  • Admin · editor · viewer roles with per-module gating
  • Watchtower: visitor metrics, 404s, access requests, IP controls
  • Daily snapshots, off-site backups, full-portal export/restore

Open the admin (admin / admin) →

localhost:8090/tspro/watchtower
Watchtower analytics
A look inside

Run every part of your portal from one admin.

Pages and design, meetings and schedules, visitor analytics and security — powerful where it needs to be, gentle for the volunteers who keep it running.

/tspro/frontend
Web Frontend admin
Web Frontend studioPages, branding, design tokens, navigation, footer, forms — a CMS for your whole public site.
/tspro/meetings
Meetings admin
Meetings & schedulesRecurring days/times, Zoom details, libraries, and public visibility per meeting.
meridianrecovery.example/meetings
Public meeting schedule
Public meeting scheduleDay/time grid with in-person, online & hybrid badges and one-click Zoom join.
meridianrecovery.example/library
Public literature library
Literature libraryCurated readings, scripts, and service docs — public on the site, managed in the admin.
Everything in the box

One portal. Every tool your fellowship needs.

Each module is independently toggleable, so you ship exactly the site your fellowship wants — nothing more.

Meetings & schedules

Recurring day/time schedules across every time zone, in-person · online · hybrid, with Zoom details and live badges.

Literature libraries

Curated readings, scripts, and service docs — files, links, or pasted markdown, public or members-only.

Events & announcements

Post events with locations and Zoom links; announcements auto-archive when they expire.

Recovery stories

First-person stories with author bylines and milestone dates — a moderated, public submission flow included.

Blog

Long-form posts with categories and tags; one table can power many committee blogs.

Page builder

Drag-and-drop blocks — heroes, cards, galleries, containers — for any page, no code.

Design system

Themes, design tokens, custom fonts, light/dark mode, mega-menus, and footers you control.

Roles & permissions

Admin, editor, and viewer roles with fine-grained per-module access gating.

Watchtower analytics

Privacy-first visitor metrics, 404 tracking, access requests, and IP blocking.

Backups & restore

Daily snapshots, scheduled off-site backups (SFTP/FTP/Dropbox), and one-screen restore.

Zoom & tech hub

A built-in knowledge base of hosting checklists and security best practices.

Forms, contact & more

Custom forms, contact routing, a fellowships index, trusted-servant mailing list, and printable schedules.

Try it without fear

A sandbox that's yours alone.

The demo is fully live — yet completely safe to break. Here's how it works under the hood.

Launch

The demo loads a fictitious fellowship — Meridian Recovery Collective — fully populated with meetings, libraries, events, stories, and a blog.

Explore & edit

Sign into the admin with admin / admin and change anything. Edit meetings, rewrite pages, flip modules, upload files — it all updates instantly on the public site.

Reset, automatically

Your changes live in a private copy tied to your browser session. They never affect anyone else, and the slate wipes clean — so every visitor starts fresh.

Own your stack

Deploy it yourself in minutes.

No SaaS lock-in, no per-seat pricing — a single Flask app backed by SQLite. Pick the path that fits: a one-liner for any Docker host, or the turnkey installer for a production server with HTTPS.

Option A · any machine

Docker Compose

One container, one SQLite file. Perfect for a laptop, a homelab, or any VPS.

  1. Install Docker, then clone the repo and cd in.
  2. Generate a secret key into .env.
  3. Build & start — that's the whole install.
  4. Open http://localhost:8090 and sign in with admin / admin (change it from Settings → Users).
# 1 + 2 — clone and set a signing secret
$ git clone https://github.com/viibeware/trusted-servants-pro.git
$ cd trusted-servants-pro
$ echo "TSP_SECRET_KEY=$(openssl rand -hex 32)" > .env

# 3 — build & run
$ docker compose up -d --build

# 4 — it's live
 http://localhost:8090        # public site
 http://localhost:8090/tspro  # admin backend
Option B · production + HTTPS

One-command installer

A fresh Ubuntu 24.04 server gets Docker, Caddy (auto Let's Encrypt TLS), a random secret, and auto-updates.

  1. Point your domain's A record at the server's public IP (needed for a real cert; Cloudflare users: grey-cloud / DNS-only during install).
  2. SSH in and run the installer (pipe from GitHub, or clone first to read it).
  3. Answer two prompts: domain (blank = self-signed) and a contact email for renewals.
  4. It pulls the image, starts everything, and prints your URL. Sign in with admin / admin and change it immediately.
# 2 — run on the server (root/sudo)
$ curl -fsSL https://raw.githubusercontent.com/\
viibeware/trusted-servants-pro/main/install.sh | sudo bash

# …or non-interactive (skip the prompts):
$ sudo TSP_DOMAIN=portal.example.org \
       TSP_ACME_EMAIL=you@example.org \
       TSP_ADMIN_PASSWORD='a-strong-password' \
       bash install.sh

# 4 — live over TLS
 https://portal.example.org

Day-2 ops are just Compose: docker compose logs -f tsp to tail, docker compose pull && docker compose up -d to upgrade, uninstall.sh to cleanly remove. Your data lives in ./data (the SQLite DB + uploads) — back that up and you've backed up everything.

See it for yourself

The best way to understand it is to break it.

Step into a live, fully-loaded fellowship portal. Edit freely — it resets itself.