Python BSD-3-Clause

beaverhabits

A self-hosted habit tracking app without "Goals"

D

daya0576

Dernière activité 17 sept. 2026
daya0576/beaverhabits

1,8 k

étoiles

78

forks

21

issues ouvertes

habit-trackerhabit-trackinghabitspythonself-hostedstreaks

Ce README est souvent en anglais.

Beaver Habit Tracker

GitHub Release Docker Pulls GitHub Actions Workflow Status Uptime Robot ratio (30 days)

A self-hosted habit tracking app without "Goals"

Derivatives

Beaver Habit Tracker API How‐to Guide

Getting Started

Cloud Service (SaaS)

Zero configuration, high availability, and low latency powered by global edge network.

Self-Hosting

Unraid

Simply search for "Beaver Habit Tracker" in the Community Apps store!

Easypanel

Easypanel can deploy Beaver Habit Tracker with one click using its official template, which runs the Docker image above with a persistent volume for you.

Ship with Docker

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/Environment-variables
      - 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.

Development

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

Features

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

Sponsor

Buy Me A Coffee

Projets similaires

Habit Tracker for the AI Coding Workshop

Python
Ccoleam00
711 étoiles241

Loop Habit Tracker, a mobile app for creating and maintaining long-term positive habits

Kotlinandroidhabit-trackerhabits
IiSoron
10,3 k étoiles1,3 k

The best free and open-source automated time tracker. Cross-platform, extensible, privacy-focused.

Pythonactivitywatchafkanalytics
AActivityWatch
19 k étoiles1 k