Trusted Servants Pro
Content management for recovery fellowships

Your fellowship's web presence, supercharged.

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 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
meridianrecovery.example/events
Public events page
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 website 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 app. 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.

Own your stack

Deploy it yourself in minutes.

No SaaS lock-in, no per-seat pricing — a single Flask app backed by SQLite. Use the turnkey installer for a production server with automatic HTTPS, or Docker Compose to run it on any machine.

Option A · production + HTTPS

One-command installer

The turnkey path for a public server: it installs Docker, writes a hardened Compose file, generates your secret key, and configures Caddy for automatic Let's Encrypt TLS — then keeps the image up to date.

  1. Provision a server

    Spin up a fresh Ubuntu 24.04 LTS box on any provider (DigitalOcean, Hetzner, Lightsail, or bare metal). 1 vCPU / 1 GB RAM handles most fellowships. SSH in as root or a sudo user.

    $ ssh root@your-server-ip
  2. Point your domain at it

    For a real certificate, add a DNS A record for your hostname pointing to the server's public IP. On Cloudflare, set it to “DNS only” (grey cloud) during install so the TLS challenge can complete. No domain? Skip this and the installer issues a self-signed cert.

    # DNS A record
    portal.yourfellowship.org      203.0.113.10
  3. Run the installer

    One command does the rest. Pipe it straight from GitHub — or clone the repo first if you'd like to read the script before running it.

    $ curl -fsSL https://raw.githubusercontent.com/\
    viibeware/trusted-servants-pro/main/install.sh | sudo bash
  4. Answer two prompts

    Enter your domain (press Enter to skip for a self-signed cert) and a contact email for renewal notices. It then pulls the image and starts everything in 2–5 minutes. Prefer no prompts? Pass the answers inline instead.

    # interactive prompts
    Domain (blank = self-signed): portal.yourfellowship.org
    Contact email: [email protected]
    
    # …or fully non-interactive
    $ sudo TSP_DOMAIN=portal.yourfellowship.org \
           [email protected] \
           TSP_ADMIN_PASSWORD='a-strong-password' bash install.sh
  5. Sign in & secure it

    Open the URL the installer prints, sign in with the seeded admin, and change the password immediately from Settings → Users.

     https://portal.yourfellowship.org
       user: admin   ·   pass: admin   # change this now
Option B · any machine

Docker Compose

The quickest way to run it anywhere — a laptop, a homelab, or any VPS. One container, one SQLite file.

  1. Check Docker is installed

    You only need Docker Engine and the Compose plugin. Confirm both are available before you start.

    $ docker --version && docker compose version
  2. Get the code

    Clone the repository and move into the project directory.

    $ git clone https://github.com/viibeware/trusted-servants-pro.git
    $ cd trusted-servants-pro
  3. Set a secret key

    Trusted Servants Pro signs session cookies with this. Generate a random value into a .env file.

    $ echo "TSP_SECRET_KEY=$(openssl rand -hex 32)" > .env
  4. Build & start

    One command builds the image and launches the container in the background on port 8090.

    $ docker compose up -d --build
  5. Open it

    Visit the public site and the admin backend, sign in, and change the admin password.

     http://localhost:8090         # public site
     http://localhost:8090/tspro   # admin (admin / admin)
See it for yourself

Take it for a spin.

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