Skip to content

daya0576/beaverhabits

Repository files navigation

Beaver Habit Tracker

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

A self-hosted habit tracking app to save your precious moments in your fleeting life.

Getting Started

Cloud Service

Self-hosting

Ship with Docker

Example:

docker run -d --name beaverhabits \
  -e FIRST_DAY_OF_WEEK=0 \
  -e HABITS_STORAGE=USER_DISK \
  -e MAX_USER_COUNT=1 \
  -v /path/to/host/directory:/app/.user/ \
  -p 8080:8080 \
  --restart unless-stopped \
  daya0576/beaverhabits:latest

Options:

Name Description
HABITS_STORAGE(str) The DATABASE option stores everything in a single SQLite database file named habits.db. On the other hand, the USER_DISK option saves habits and records in a local json file.
FIRST_DAY_OF_WEEK(int) By default, the first day of the week is set as Monday. To change it to Sunday, you can set it as 6.
MAX_USER_COUNT(int) By setting it to 1, you can prevent others from signing up in the future.

Features

  1. Pages
    • Index page
    • Habit list page
    • Habit detail page
      • Calendar
      • Streaks
  2. Storage:
    • Session-based disk storage
    • User-based disk storage
    • User-based db storage
  3. CICD:
    • Custom domain
    • Self-hosting option
    • Unit tests & deployment pipeline
  4. Others:
    • Export
    • Import
    • User management
    • User timezone

Streaks

Here are my table tennis training sessions in the past year :) image

Import

If you want to import from an existing setup, e.g. uhabit. Please check this wiki for more details: https://github.com/daya0576/beaverhabits/wiki/Import-from-Existing-Setup

Future Plans

  1. Native mobile app
  2. Habit calendar template, e.g. vacations
  3. ...