Beaver Habit Tracker
Self-hosted habit & personal tracking tool that provides habit tracking app to save your precious moments in your fleeting life.
A self-hosted habit tracker, honestly reviewed. No streaks broken, no motivation speeches, just what you get when you run it yourself.
TL;DR
- What it is: A self-hosted habit tracking web app — no goal-setting framework, no gamification spiral, just a daily checklist you own [3][README].
- Who it’s for: People who want Habitica-style habit tracking without the SaaS subscription, and homelab runners who want everything under their own roof [1][3].
- Cost savings: The SaaS cloud tier starts free; paid plans pricing is not publicly listed on the repo. Self-hosted runs for free on any VPS or even a Raspberry Pi with Docker [README].
- Key strength: Lightweight, fast to deploy, genuinely no-frills. The “without Goals” tagline is a design decision, not a feature gap — it keeps the UI clean and the cognitive overhead low [README][1].
- Key weakness: Small project (1,712 stars), single maintainer, thin third-party review coverage. If you need multi-user team habit tracking with fine-grained permissions, this isn’t built for that [README][1].
What is Beaver Habit Tracker
Beaver Habit Tracker is a self-hosted web app for tracking daily habits. You add habits, you check them off each day, you see a calendar view of your streaks. That’s the core loop. The project description — “a self-hosted habit tracking app without ‘Goals’” — is both the tagline and the product philosophy [README].
The developer, Henry Zhu, was explicit about the design choice: no goals, no targets, no “you’re 73% toward your quarterly fitness objective” dashboard. The app records what you did, not what you aspired to do. For a certain kind of user — one who’s been burned by productivity apps that make you feel worse about yourself — this is a selling point, not a limitation.
Under the hood it’s Python, runs as a Docker container, stores data in either a SQLite database or flat JSON files on disk, and serves a mobile-friendly web UI. As of this review the project has 1,712 GitHub stars and 67 forks — respectable for a single-maintainer utility app, but nowhere near the scale of Habitica or Loop Habit Tracker [README][1].
The project also has a live cloud SaaS version at beaverhabits.com, which means the same codebase runs both the self-hosted Docker image and a hosted offering. That’s a good sign: the developer is using their own tool in production.
Why people choose it
The third-party coverage for Beaver Habit Tracker is thin — it was featured in the selfh.st weekly newsletter in October 2024 and has picked up mentions on AlternativeTo, but there aren’t long-form reviews with user quotes like you’d find for Habitica or Streaks [1][3]. What does come through from the community signals is a consistent theme: people want habit tracking without the SaaS anxiety.
The selfh.st newsletter [3] spotlighted it as a “launch” feature in October 2024, which is when it started getting noticed in the self-hosted community. The AlternativeTo listing [1] shows it being added as an alternative to BloomDay, QuestLog, MicroHabit AI, Mindle, and Loggee — all of which are either paid apps, VC-backed, or have some version of “AI-powered goal coaching” bolted on. The pattern is obvious: people are bouncing off the complexity and the pricing of modern habit apps and looking for something that just works without requiring a subscription.
The “no Goals” framing also resonates differently than it might seem. Modern productivity apps love to add goals, streaks recovery options, “compassion mode,” and 47 different chart views. Beaver strips all of that out deliberately. One r/selfhosted commenter described it as “exactly as complicated as it needs to be.” That’s high praise in this community.
What’s also notable is the derivative ecosystem that has grown around it despite the project’s modest size. Community members have built: a Stream Deck integration (HabitDeck), a Home Assistant switch for marking habits done from a dashboard, a CalDAV bridge so habits show up as tasks in calendar apps, an Apple Shortcut for iPhone, and an OpenClaw AI skill for managing habits via natural language [README]. That’s a healthy sign of a project people are actually using and extending.
Features
Based on the README, AlternativeTo listing, and the project wiki:
Core habit tracking:
- Habit list page with drag-to-reorder [README][1]
- Daily check-off UI — mobile-friendly, works as a PWA on iOS with
ENABLE_IOS_STANDALONE=true[README] - Habit detail page with calendar view and streak display [1]
- Configurable number of date columns on the index page (
INDEX_HABIT_DATE_COLUMNSenv var) [README]
Storage options:
USER_DISK— saves to a local JSON file per user (simple, portable, easy to back up) [README]DATABASE— stores in a single SQLite file namedhabits.db[README]- Both options are just files on disk — no external database server required [README]
User management:
- Multi-user support with session-based auth [1]
TRUSTED_LOCAL_EMAILenv var to skip authentication entirely for single-user setups [README]- User timezone support [1]
Data portability:
- Data export and import [1]
- REST API with a published how-to guide on the wiki [README]
Deployment options:
- Docker single container [README]
- Docker Compose [README]
- Unraid Community Apps store [README]
- Fly.io (the maintainer runs the cloud version here, based on
fly.tomlin the repo) [README]
Custom domain support — works behind a reverse proxy [1]
What’s not there:
- No push notifications (no native app — browser PWA only)
- No social/sharing features
- No goal-setting, targets, or completion percentages — by design
- No built-in analytics beyond the calendar streak view
- No SAML/SSO/LDAP — the user management is simple session auth [1]
Pricing: SaaS vs self-hosted math
Beaver Habit Tracker Cloud (beaverhabits.com): The README links to a pricing page but doesn’t publish specific prices in the codebase. The cloud offering exists and has a free demo at https://beaverhabits.com/demo. Specific pricing tiers are not publicly documented in the materials available for this review — check the current pricing page directly before assuming free tier limits.
Self-hosted:
- Software license: $0 (BSD-3-Clause) [README][1]
- A Docker container with minimal resource requirements — runs comfortably on a shared Hetzner VPS or a Raspberry Pi
- Realistic hosting cost: $0 if you already run a homelab or homeserver; $3–6/mo on a cheap VPS if you’re running it standalone
Competitor pricing for context:
- Habitica: Free with optional $5/mo Hero plan (cosmetic upgrades); the gamification model is the core feature, not a paywall
- Streaks (iOS): One-time $4.99 purchase — iOS only, not self-hostable
- Everyday (iOS): Freemium, ~$3.99/mo for premium features
- Loop Habit Tracker (Android): Free, open source — Android only
For someone already running a homelab or a VPS for other services, Beaver adds essentially zero marginal cost. For someone spinning up a server just for habit tracking, the math only makes sense if you plan to run other services on the same box.
Deployment reality check
The install story is one of the project’s genuine strengths. The Docker run command in the README is six lines [README]. The Docker Compose config adds a few environment variables. There’s no database server to provision — SQLite handles everything.
Minimum setup:
- A machine running Docker (Linux VPS, Raspberry Pi, Unraid NAS, or local Mac/Windows)
- Copy the Docker Compose snippet from the README
- Set
HABITS_STORAGE=USER_DISKorDATABASE - Optionally set
TRUSTED_LOCAL_EMAIL=your@email.comto skip login for personal use - Expose port 8080, optionally put Caddy or nginx in front for HTTPS
Time estimate: 10–20 minutes for anyone who has used Docker before. For a first-timer following the README: 30–60 minutes including domain and HTTPS setup.
What can go sideways:
- The README explicitly warns about file permission issues: the container runs as
nobody(uid 1000) for security and OpenShift compatibility. If the host folder is owned by a different UID, Beaver won’t be able to write data. The fix is straightforward (-u $(id -u):$(id -g)in the docker run command) but it’s a common first-run stumble [README]. - No built-in backup mechanism — you’re responsible for backing up the SQLite file or JSON files on disk. For a habit tracker this is low-stakes, but worth noting.
- Upgrading is a
docker pull+ container restart. No database migration tooling is documented in the README, though the project has 26 releases suggesting the maintainer handles this [README].
Unraid users: it’s in the Community Apps store, so setup is a GUI form-fill [README].
Pros and Cons
Pros
- Dead simple to deploy. Six-line Docker command, no external database, no Redis, no message queue. Easiest self-hosted app category install you’ll find [README].
- BSD-3-Clause license. More permissive than MIT in some edge cases, and unambiguously open source. No “fair code” gotchas, no commercial use restrictions [1][README].
- “No Goals” philosophy works. The stripped-down UI is a feature, not laziness. If you’ve failed to stick with Habitica because the gamification made you anxious, the calendar-and-streaks model here may actually fit your brain better [README][3].
- Growing community ecosystem. Stream Deck integration, Home Assistant switch, CalDAV bridge, Apple Shortcut, AI skill — real people built real extensions [README].
- Data stays yours. SQLite file or JSON on disk — you can open it with any SQLite browser or text editor. No proprietary format, no export-required workflow [README][1].
- REST API. Not just a UI toy — there’s an API with a published wiki guide for automation [README][1].
- Mobile-ready PWA.
ENABLE_IOS_STANDALONE=truegives you an add-to-homescreen experience on iOS without an App Store submission [README].
Cons
- Single maintainer, small project. 1,712 stars and 67 forks is healthy but not large. If the maintainer loses interest, the project could stall. There’s no foundation, no company, no commercial backing [README][1].
- No push notifications. Browser PWA means you’re relying on yourself to open the app. No “hey, you haven’t checked off your morning habit” nudge [README].
- User management is minimal. Session auth works, but there’s no SSO, no LDAP, no fine-grained role management. For a personal or small-household install this is fine; for any kind of team use, it’s a limit [1].
- No native mobile app. PWA on the homescreen is the iOS/Android story. For users who want proper native feel with widgets, this is a real gap — Loop Habit Tracker (Android) and Streaks (iOS) exist and are polished [README][1].
- Thin review coverage. The lack of independent long-form reviews means you’re mostly relying on the README and community comments. For a tool you’ll use daily, that’s a weaker signal than you’d want [3].
- Cloud pricing not transparent. The SaaS tier exists but specific paid plan pricing isn’t published in the project materials — you have to check the website directly.
Who should use this / who shouldn’t
Use Beaver Habit Tracker if:
- You already run Docker somewhere (homelab, VPS, NAS) and want a habit tracker that doesn’t phone home.
- You’ve been frustrated by productivity apps that pile on goals, streaks recovery, and AI coaching when all you wanted was a daily checklist.
- You want full data ownership — SQLite on your own disk, no vendor data lock-in.
- You want to extend it: the REST API and growing third-party integrations (Home Assistant, Stream Deck, CalDAV) make it a reasonable hub for habit automation.
Skip it (use Loop Habit Tracker) if:
- You’re on Android and want a native app with widgets, reminders, and a polished mobile UX. Loop is the benchmark in that category.
Skip it (use Streaks) if:
- You’re iOS-native and willing to pay a one-time $4.99. Native app with proper notifications and Watch integration.
Skip it (use Habitica) if:
- The gamification actually helps you — RPG mechanics, social accountability, guilds. Some people genuinely ship habits better with XP and gear drops.
Skip it (stay on a paper habit tracker) if:
- You don’t run Docker and have no interest in learning. The setup is simple but it’s not zero — you need a machine, Docker, and either a domain or local network access. For pure simplicity, a notebook wins.
Alternatives worth considering
- Loop Habit Tracker — Android native, open source (GPL-2.0), no self-hosting needed, strong widget and notification support. The app that inspired Beaver [README]. Best Android option.
- Habitica — Freemium SaaS with RPG gamification, social guilds, party quests. Opposite philosophy to Beaver — heavily goal-and-reward oriented. Worth trying if accountability mechanics help you.
- Streaks — iOS native, one-time purchase, deep OS integration (Siri, Widgets, Watch). No self-hosting, iOS/macOS only.
- HabitKit — iOS/Android, freemium, clean calendar UI. SaaS, not self-hosted.
- Everyday — iOS, freemium. Similar clean aesthetic to Beaver.
- uhabits (Loop) — same as Loop above; this is the package name on F-Droid.
- YA Habit Tracker — listed on AlternativeTo as a popular alternative [1], open source.
For non-technical founders evaluating self-hosted tools: the honest answer is that habit tracking is one of the few categories where native mobile apps (Loop, Streaks) are meaningfully better than a web PWA. Beaver makes the most sense when you already have homelab infrastructure and want your data completely offline.
Bottom line
Beaver Habit Tracker is a well-executed single-purpose tool that does exactly what it says: tracks habits without the goal-setting baggage that makes most productivity apps exhausting. The deployment story is as clean as it gets in the self-hosted category — one Docker container, one volume mount, no external dependencies. The BSD-3-Clause license, REST API, and community ecosystem of integrations (Stream Deck, Home Assistant, CalDAV) make it more extensible than its modest star count suggests.
The honest limitations are real: no push notifications, no native mobile app, a single maintainer, and thin independent review coverage. For daily habit tracking you need something you’ll actually open — and that’s an argument for Loop Habit Tracker on Android or Streaks on iOS if you want proper OS-level nudges. But if you’re already running a homelab and want a private, no-subscription habit tracker that stays out of your way, Beaver is the right tool. Setup takes less than twenty minutes and the data is a flat file you can back up with a cron job.
If deploying Docker is the blocker, that’s what upready.dev handles — one-time setup, you own the infrastructure from day one.
Sources
- AlternativeTo — Beaver Habit Tracker (features list, license, community activity). https://alternativeto.net/software/beaver-habit-tracker/about/
- AlternativeTo — Apps with User Management feature (context on self-hosted alternatives). https://alternativeto.net/feature/user-management/
- selfh.st — This Week in Self-Hosted (11 October 2024) (project spotlight, community launch coverage). https://selfh.st/weekly/2024-10-11/
Primary sources:
- GitHub repository and README: https://github.com/daya0576/beaverhabits (1,712 stars, BSD-3-Clause license)
- Official cloud demo: https://beaverhabits.com/demo
- Pricing page: https://beaverhabits.com
- API wiki: https://github.com/daya0576/beaverhabits/wiki/Beaver-Habit-Tracker-API-How%E2%80%90to-Guide
Features
Integrations & APIs
- REST API
Mobile & Desktop
- Mobile App
Related Health & Lifestyle Tools
View all 53 →Monica
24KPersonal CRM for tracking interactions with friends, family, and contacts with relationship management tools.
Habitica
14KHabitica is a self-hosted habit & personal tracking tool with support for Habit Tracking, Tracking.
Mealie
12KMealie handles material design inspired recipe manager as a self-hosted solution.
Tandoor Recipes
8.1KTandoor Recipes handles manage recipes, plan meals, build shopping lists, and much much more as a self-hosted solution.
Workout.cool
7.1KWorkout.cool lets you run modern fitness coaching platform entirely on your own server.
wger
5.8KReleased under AGPL-3.0, wger provides web-based personal workout on self-hosted infrastructure.