Meetings & schedules
Recurring day/time schedules across every time zone, in-person · online · hybrid, with Zoom details and live badges.
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.
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.
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.
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.
Pages and design, meetings and schedules, visitor analytics and security — powerful where it needs to be, gentle for the volunteers who keep it running.
Each module is independently toggleable, so you ship exactly the site your fellowship wants — nothing more.
Recurring day/time schedules across every time zone, in-person · online · hybrid, with Zoom details and live badges.
Curated readings, scripts, and service docs — files, links, or pasted markdown, public or members-only.
Post events with locations and Zoom links; announcements auto-archive when they expire.
First-person stories with author bylines and milestone dates — a moderated, public submission flow included.
Long-form posts with categories and tags; one table can power many committee blogs.
Drag-and-drop blocks — heroes, cards, galleries, containers — for any page, no code.
Themes, design tokens, custom fonts, light/dark mode, mega-menus, and footers you control.
Admin, editor, and viewer roles with fine-grained per-module access gating.
Privacy-first visitor metrics, 404 tracking, access requests, and IP blocking.
Daily snapshots, scheduled off-site backups (SFTP/FTP/Dropbox), and one-screen restore.
A built-in knowledge base of hosting checklists and security best practices.
Custom forms, contact routing, a fellowships index, trusted-servant mailing list, and printable schedules.
The demo is fully live — yet completely safe to break. Here's how it works under the hood.
The demo loads a fictitious fellowship — Meridian Recovery Collective — fully populated with meetings, libraries, events, stories, and a blog.
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.
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.
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.
One container, one SQLite file. Perfect for a laptop, a homelab, or any VPS.
cd in..env.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
A fresh Ubuntu 24.04 server gets Docker, Caddy (auto Let's Encrypt TLS), a random secret, and auto-updates.
A record at the server's public IP (needed for a real cert; Cloudflare users: grey-cloud / DNS-only during install).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.
Step into a live, fully-loaded fellowship portal. Edit freely — it resets itself.