daya0576 / beaverhabits

Self-hosted habit tracking app

Home Page:https://beaverhabits.com/demo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

To import from an existing setup, e.g. uhabit, please check this wiki for more details.

Standalone mode for iOS (Web Application)

Follow this wiki to add it as an icon on the home screen and make it launch in a separate window

Future Plans

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

About

Self-hosted habit tracking app

https://beaverhabits.com/demo

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Python 97.7%Language:Dockerfile 1.2%Language:Shell 1.1%