Skip to content
/ habits Public

A simple API, command-line tool and web UI for tracking thoughts & habits. Designed for self hosting, built in Go with a Vite + Tailwind frontend.

License

Notifications You must be signed in to change notification settings

brk3/habits

Repository files navigation

habits

Habits is built on the idea that small, consistent actions yield the best results.

Test Status Docker Build Frontend Build

Screenshot

Install

curl -fsSL https://raw.githubusercontent.com/brk3/habits/main/install.sh | bash

Development

# Build the project
make build

# Start a habits-server
make server

# Start a frontend
make frontend

# Track a habit with a note
habits track guitar "practiced riffs"

# > Access frontend on localhost:5173/habits/{habit}

Configuring

See config.yaml

Hosting

A docker-compose.yml is included for a full working setup. It's fronted by a Caddy reverse proxy which also hosts the habits-frontend.

This is secured by a wildcard letsencrypt cert, based on this guide.

# Fetch your wildcard cert
docker exec acme.sh --register-account -m my@example.com --server letsencrypt --set-default-ca
docker exec acme.sh --issue -k 4096 -d aiectomy.xyz -d '*.aiectomy.xyz' --dns dns_acmedns

# Bring up the habits stack
docker compose up -d

About

A simple API, command-line tool and web UI for tracking thoughts & habits. Designed for self hosting, built in Go with a Vite + Tailwind frontend.

Topics

Resources

License

Stars

Watchers

Forks

Packages