A self-hosted habit tracker built with Python that tracks daily habits and streaks without a goals system.
jofoerster/habitsync
Self-hosted habit tracker with goals, friend challenges, shared habits, and OIDC/SSO login, with a PWA and Android app.
Open-source alternative to:Loop Habit Tracker
Habitica
- Stars
- 349
- Forks
- 10
- Open issues
- 16
- Last commit
- 3 months ago
What is it?
HabitSync is a self-hosted habit tracker that lets you define daily, weekly, monthly, or custom-interval habits, including negative habits you want to reduce. It can be deployed with Docker and used through the browser as a progressive web app, or through an Android app.
Beyond personal tracking, it adds social features: shared habits for tracking progress with friends and family, monthly challenges with community voting and leaderboards, and notifications through Apprise when reminders are due or friends overtake your progress. Login can use OIDC providers such as Authelia or Google, or basic-auth users defined in configuration.
Data is stored in an embedded H2 database by default, with PostgreSQL as an alternative. The project offers a Swagger-documented REST API and includes an importer for Loop Habit Tracker data.
Key features
- 01Daily, weekly, monthly, and custom-interval habits, plus negative habits to reduce
- 02Shared habits and monthly challenges with leaderboards and voting
- 03Notifications via Apprise, including reminders and threshold alerts
- 04OIDC/SSO login with multiple issuers and optional user approval
- 05Runs as a PWA in the browser, with an Android app available
- 06REST API with Swagger docs, and import from Loop Habit Tracker
Use cases
- Keeping a personal habit log on your own server instead of a cloud app
- Running a habit challenge group with friends or family
- Connecting habit reminders to Discord, email, or Home Assistant through Apprise
- Integrating habit data into a Home Assistant setup via the REST API
Quick start
- 1
Start the app locally with Docker
docker run \ -p 6842:6842 \ -e BASE_URL=http://localhost:6842 \ -e 'APP_SECURITY_BASIC-AUTH-USERS_test=$2y$10$EyuJ.fL/PzCTMMKTONEquuFLxAR8SAzl9iXF2v.qDZYCh5K2m78fS' \ ghcr.io/jofoerster/habitsync:latest - 2
Open http://localhost:6842 and log in with username test and the password given in the README
- 3
For production, use the Docker Compose setup described in the README
Things to know
- The Android app is in development and must be kept in sync with the server version.
- Mobile OIDC redirect URI changed in v0.19.0, so existing mobile setups may need updating.
- The API is incomplete and may change.
In collections
Topics
FAQ
- What is habitsync?
- Self-hosted habit tracker with goals, friend challenges, shared habits, and OIDC/SSO login, with a PWA and Android app. HabitSync is a self-hosted habit tracker that lets you define daily, weekly, monthly, or custom-interval habits, including negative habits you want to reduce. It can be deployed with Docker and used through the browser as a progressive web app, or through an Android app.
- Is habitsync free to use? What license does it have?
- habitsync is open source under the BSD-3-Clause license. Check the license terms before using it in commercial products.
- Is habitsync still maintained?
- Updated within 6 months. The last commit to habitsync was on Aug 20, 2026.
- What can I use habitsync for?
- Keeping a personal habit log on your own server instead of a cloud app Running a habit challenge group with friends or family Connecting habit reminders to Discord, email, or Home Assistant through Apprise Integrating habit data into a Home Assistant setup via the REST API
- How do I install habitsync?
- Start the app locally with Docker: docker run \ -p 6842:6842 \ -e BASE_URL=http://localhost:6842 \ -e 'APP_SECURITY_BASIC-AUTH-USERS_test=$2y$10$EyuJ.fL/PzCTMMKTONEquuFLxAR8SAzl9iXF2v.qDZYCh5K2m78fS' \ ghcr.io/jofoerster/habitsync:latest Open http://localhost:6842 and log in with username test and the password given in the README For production, use the Docker Compose setup described in the README
- Where can I get habitsync?
- The source code and installation instructions are on GitHub: https://github.com/jofoerster/habitsync
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Table Habit is a free, open-source Flutter habit tracker for micro habits, with WebDAV sync and offline-first storage.
A self-hosted personal nutrition and calorie tracker, run as a single Docker container with a PWA and an Android app.
A privacy-first day planner with visual time-blocking, habits, goals and optional self-hosting, with data kept on your device unless you sync it.
Self-hosted single sign-on server providing OIDC, proxy ForwardAuth, and LDAP for protecting your self-hosted apps.
Self-hosted Django web app for storing and managing vouchers, coupons, loyalty cards and gift cards, with expiry notifications.