A self-hosted care management platform for planning, organizing and tracking German care benefits (SGB XI).
Pflegra helps families and care providers manage Verhinderungspflege, Kurzzeitpflege, and all related benefits — without spreadsheets, without data leaving your home.
- Care record tracking — log Verhinderungspflege entries with date, time, duration and care type
- Budget management — real-time VP+KZP budget status, 56-day limit tracking, annual prognosis
- Budget simulator — plan your full year across all benefit types (§ 36, § 37, § 39, § 40, § 41, § 45b SGB XI)
- Rules engine — all legal benefit amounts centralized in
pflege_rules.py, updated per year - Ausfüllhilfe — KK-independent data sheet for filling out your Pflegekasse's own forms
- PDF exports — care records, budget reports, application letters, Ausfüllhilfe
- Ersatzpflegekräfte — manage substitute carers in Stammdaten, select per entry
- Entlastungsbetrag tracking — monthly budget, Vorjahresguthaben indicator (§ 45b SGB XI)
- Automatic backups — daily, configurable retention, with restore
- Multi-user support — per-user data isolation, roles (admin/user), user management
- Demo system — built-in
demo/demoaccount with sample data, auto-reset on logout - HTTPS / Tailscale — built-in Tailscale integration for secure remote access
- Home Assistant Add-on — runs natively on HA OS, no extra hardware needed
- Docker deployment — for standalone server or VM
| Login | Dashboard |
|---|---|
![]() |
![]() |
| Pflege-Einträge | Budgetplanung |
|---|---|
![]() |
![]() |
| Anträge & Dokumente | Versicherten-Stammdaten |
|---|---|
![]() |
![]() |
- Docker Desktop installieren
- Repository klonen oder ZIP herunterladen
- Doppelklick auf
start.bat(Windows) oder./start.sh(Mac/Linux) - Pflegra öffnet sich automatisch im Browser unter
http://localhost:8000
Oder als Einzeiler:
docker run -d -p 8000:8000 -v pflegra_data:/data ghcr.io/pflegra/core:latest- Copy the add-on folder to
/addons/pflegra/on your HA instance - Install via Settings → Add-ons → Local Add-ons
- Start and open the Web UI on port
8000 - For remote HTTPS access install the Tailscale Add-on separately
First login: an admin account is created automatically from your existing config, or set up via /setup on first run.
Demo access: demo / demo — resets automatically on logout.
git clone https://github.com/Pflegra/core.git
cd core
cp .env.example .env
# Edit .env — set a secure PFLEGRA_SECRET
docker compose up -dOpen http://localhost:8000 in your browser.
cd app
pip install -r requirements_web.txt
uvicorn web.app:app --host 0.0.0.0 --port 8000 --app-dir app| Component | Minimum |
|---|---|
| Python | 3.11+ |
| RAM | 256 MB |
| Disk | 500 MB |
| OS | Linux, HA OS, macOS, Windows (via Docker) |
| Benefit | Legal basis | Amount |
|---|---|---|
| VP + KZP (shared pool) | § 39 SGB XI | 3.539 €/year |
| Pflegegeld PG 2–5 | § 37 SGB XI | 347 – 990 €/month |
| Pflegesachleistungen PG 2–5 | § 36 SGB XI | 796 – 2.299 €/month |
| Tagespflege PG 2–5 | § 41 SGB XI | 721 – 2.085 €/month |
| Entlastungsbetrag | § 45b SGB XI | 131 €/month |
| Pflegehilfsmittel | § 40 SGB XI | 42 €/month |
| Wohnumfeldverbesserung | § 40 SGB XI | 4.180 € per measure |
| Hausnotruf | — | 25,50 €/month |
| DiPA App | § 40a SGB XI | 40 €/month |
| DiPA Unterstützung | § 40a SGB XI | 30 €/month |
All amounts live in app/pflege_rules.py — one file to update when the law changes.
app/
├── pflege_rules.py # Central rules engine — all legal amounts per year
├── calculations.py # Budget calculations, prognosis logic
├── models.py # DB schema v12, migrations, repositories
├── demo_reset.py # Demo user reset (on logout + every 60 min)
├── ausfuellhilfe_vp.py # Ausfüllhilfe PDF generator
├── antrag_vp.py # Antrag VP PDF generator
├── web/
│ ├── auth.py # Multi-user auth, sessions, roles
│ ├── routers/
│ │ ├── deps.py # get_db, get_owner_id, get_user_settings
│ │ ├── eintraege.py # Care entries (owner_id filtered)
│ │ ├── versicherte.py # Insured persons + Ersatzpflegekräfte
│ │ ├── antraege.py # PDF generation (user_settings aware)
│ │ ├── einstellungen.py # Per-user + global settings
│ │ ├── login.py # Login, logout, setup, demo reset
│ │ └── admin.py # User management (admin only)
│ ├── templates/ # Jinja2 HTML templates
│ └── static/js/
│ └── budget_planung.js
├── services/ # BudgetService, ExportService, BackupService
└── tests/ # 388+ pytest tests
Stack: FastAPI · Jinja2 · SQLite · ReportLab · Python 3.11+
DB schema versioning: automatic migration on every startup (currently v12)
Health endpoint: GET /health — returns status, DB integrity, schema version, uptime
Auth: bcrypt · CSRF protection · rate limiting · secure cookies · per-user data isolation
Pflegra supports multiple users with full data isolation:
- Each user sees only their own records, persons and settings
- Roles:
admin(full access, user management) anduser - Sessions via signed cookies (
pflegra_session), 12h lifetime - Secure cookies automatically enabled over HTTPS
- Demo account (
demo/demo) resets on logout and every 60 minutes
Pflegra supports secure remote access via Tailscale — without exposing ports to the internet.
On Home Assistant OS:
- Install the official Tailscale Add-on from the HA Add-on Store
- Authenticate with your Tailscale account
- Enable Funnel for port 8000
- Pflegra will be available at
https://<your-device>.ts.net:8443
On Docker / standalone: Install Tailscale on the host and set up Funnel manually.
Copy .env.example to .env:
cp .env.example .env| Variable | Default | Description |
|---|---|---|
PORT |
8000 |
HTTP port |
TZ |
Europe/Berlin |
Timezone |
PFLEGRA_DATA |
/share/pflegra |
Data directory |
PFLEGRA_SECRET |
(auto-generated) | Session secret — set this in production |
PFLEGRA_DEBUG |
0 |
Enable debug logging |
PFLEGRA_HTTPS |
0 |
Set to 1 behind HTTPS reverse proxy |
BACKUP_STUNDE |
2 |
Hour for daily auto-backup (0–23) |
# Install dependencies
pip install -r app/requirements_web.txt
# Run all tests
cd app && pytest tests/ -v
# Run dev server with auto-reload
uvicorn web.app:app --reload --port 8000 --app-dir app- Multi-user support with data isolation
- HTTPS / Tailscale integration
- Demo system with auto-reset
- Per-user settings
- Tests Phase H — auth, isolation, roles, demo (38/38)
- Screenshots in README
- Entlastungsbetrag actual consumption tracking
- PWA — installable on mobile homescreen
- AGPLv3 + Dual Licensing
- PRIVACY.md
- Public Docker image —
ghcr.io/pflegra/core:latest - Docker Desktop Quick Start —
start.bat/start.shfür Windows/Mac/Linux ohne Server-Kenntnisse - Windows
.exe— standalone Installer, kein Docker/Python nötig, Doppelklick → fertig - Multi-language / i18n support (English UI)
- Mobile UI improvements (PWA full offline)
- Entlastungsbetrag dedicated booking view
This software is for informational and organizational purposes only. It does not constitute legal or financial advice. Benefit amounts are maintained based on publicly available law (SGB XI) and may not reflect the most recent legal changes. Always verify with your Pflegekasse.
Copyright © 2024–2026 Stefan Neu
Pflegra is licensed under the GNU Affero General Public License v3.0 (AGPLv3).
Commercial use under the terms of the AGPLv3 is permitted. Organizations requiring alternative licensing terms may contact the copyright holder to discuss commercial licensing options.
Key points of AGPLv3:
- ✅ Use, modify and self-host freely
- ✅ Commercial use permitted under AGPLv3 terms
- ✅ Fork and contribute under the same license
⚠️ Any modification or derivative work must also be released under AGPLv3 with full source code⚠️ Network use (SaaS) also triggers the source disclosure requirement
For licensing inquiries: s.l.neu@web.de
Built for families navigating the German care system.





