soap-journal is a self-hosted journaling app built around the SOAP method (Scripture, Observation, Application, Prayer), with a full Bible reader built in. It runs on your own Windows PC, Mac, or Linux server — your entries never leave your machine, and once it's installed it works completely offline. No accounts to sign up for, no subscription, no internet required.
Setting it up takes about 20 minutes. You don't need any technical experience — pick the kind of computer you'll run it on, and the guide walks you through every step with screenshots:
- 🪟 Windows — run it on your Windows PC
- 🍎 Mac — run it on your Mac
- 🐧 Linux / home server — run it 24/7 on an always-on machine for the whole household
📱 On an Android phone or tablet? There's a separate, standalone app — SOAP Journal for Android — that runs entirely on your device, no server or computer needed.
Not sure which to choose, or want the overview first? Start at the install guide.
Already have it running? The usage guide is a friendly tour of everything it can do.
- Journal with the SOAP method — write your Observation, Application, and Prayer; the Scripture text is pulled in for you automatically.
- Read the Bible — 13 translations included, side-by-side comparison, a quick "jump to a passage" bar, and verse or paragraph layouts.
- Highlight verses in six colors — across multiple verses, with optional notes.
- Search everything — your journal entries, and the full Bible text.
- Find your way back — tag entries, filter and browse them, see them on a calendar, and revisit "on this day in previous years."
- Optional NET Bible with inline translator's notes and tappable cross-references (you supply the source — see Bibles).
- Share with your household — multiple users, each with their own private journal, managed by an admin.
- Yours and private — works on phones and computers alike, light and dark themes, and 100% offline with no telemetry once installed.
- Install guide — step-by-step setup for Windows, Mac, and Linux.
- Usage guide — how to read, journal, tag, search, and more.
- Configuration — the handful of optional settings.
- Bibles — what's included and how to add your own.
- Backups & updates — keep your journal safe.
- Troubleshooting — if something doesn't look right.
soap-journal is a Python/FastAPI backend serving a React/TypeScript frontend, packaged with Docker. Contributions that keep it small and self-hostable are welcome.
Quick start (if you're comfortable with Docker)
git clone https://github.com/kbennett2000/soap-journal.git
cd soap-journal
cp .env.example .env # Windows PowerShell: Copy-Item .env.example .env
docker compose up -dThen open http://localhost:8045. The first user to register becomes the admin.
First boot loads the 13 bundled translations and takes a few minutes.
- Running without Docker: Linux / macOS · Windows
- Contributing:
CONTRIBUTING.md— dev setup, tests, branch conventions, and the project's philosophy on scope. - Design:
SPEC.md(the full specification),CLAUDE.md(engineering conventions), anddocs/adr/(architecture decision records). - Release notes:
CHANGELOG.md.
MIT — see LICENSE. Third-party software notices live in
THIRD_PARTY_NOTICES.md.




