A self-hosted habit tracking app without "Goals"
Beaver Habit Tracker API How‐to Guide
- HabitDeck: Turn your Stream Deck into an interactive habit tracker
- Apple Shortcut: A shortcut for sharing the App on iPhone
- Home Assistant Switch: A switch for home assistant to mark a habit as done
- CalDAV bridge: Run a calDAV server that hosts the habits as tasks
- ...
Zero configuration, high availability, and low latency powered by global edge network.
- Demo: https://beaverhabits.com/demo
- Pricing Plans: https://beaverhabits.com
Simply search for "Beaver Habit Tracker" in the Community Apps store!
docker run -d --name beaverhabits \
-u $(id -u):$(id -g) \
-e HABITS_STORAGE=USER_DISK \
-v ./beaver/:/app/.user/ \
-p 8080:8080 \
daya0576/beaverhabits:latest
Or Docker Compose:
services:
beaverhabits:
container_name: beaverhabits
user: 1000:1000 # User permissions of your docker or default user.
environment:
# See the link below to find all the environment variables
# https://github.com/daya0576/beaverhabits/wiki/Development#options
- HABITS_STORAGE=USER_DISK # DATABASE stores in a single SQLite database named habits.db. USER_DISK option saves in a local json file.
- TRUSTED_LOCAL_EMAIL=your@email.com # Skip authentication
- INDEX_HABIT_DATE_COLUMNS=5 # Customize the date columns for the index page.
- ENABLE_IOS_STANDALONE=true
volumes:
- ./beaver/:/app/.user/ # Change directory to match your docker file scheme.
ports:
- 8080:8080
restart: unless-stopped
image: daya0576/beaverhabits:latest
P.S. The container starts as nobody to increase the security and make it OpenShift compatible. To avoid permission issues, ensure that the UID owning the host folder aligns with the UID of the user inside the container.
BeaverHabits favors uv as package management tool. Here is how to set up the development environment:
# Install uv and all the dependencies
uv venv && uv sync
# Start the server
./start.sh dev
For a complete list of features, please visit our Wiki page.
Inspired by:
- Android mobile app "Loop Habit Tracker" created by @iSoron
- NiceGUI Todo List example from @zauberzeug