WallpaperMachine
The wallpapers you love. A new home on your Mac.
A short, fixed list of what to do around the house each week, built from your items' manuals, your climate and what you've already done. Self-hosted, MIT licensed.
LifestylePython · JavaScriptGitHub @ChrisThomaOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Self-hosted home maintenance planner: a short weekly list of what to do for your appliances, yard and cars, based on their manuals and your climate
Loading the full README.
Read the full README ↗██╗ ██╗ ██████╗ ██╗ ██╗███████╗███████╗██╗ ██╗███████╗███████╗██████╗ ██╗███╗ ██╗ ██████╗
██║ ██║██╔═══██╗██║ ██║██╔════╝██╔════╝██║ ██╔╝██╔════╝██╔════╝██╔══██╗██║████╗ ██║██╔════╝
███████║██║ ██║██║ ██║███████╗█████╗ █████╔╝ █████╗ █████╗ ██████╔╝██║██╔██╗ ██║██║ ███╗
██╔══██║██║ ██║██║ ██║╚════██║██╔══╝ ██╔═██╗ ██╔══╝ ██╔══╝ ██╔═══╝ ██║██║╚██╗██║██║ ██║
██║ ██║╚██████╔╝╚██████╔╝███████║███████╗██║ ██╗███████╗███████╗██║ ██║██║ ╚████║╚██████╔╝
╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝
A self-hosted home maintenance planner. List your appliances, yard and cars, and get a short, fixed list of what to do each week, based on their manuals, your climate and what you've already done.
More about it: individuation.dev/projects/housekeeping.
You need Docker with Compose v2.24 or later, and an Anthropic API key for the Claude features. Images are published for amd64 and arm64, so it also runs on a Raspberry Pi 4 or later and on Apple silicon.
mkdir housekeeping && cd housekeeping
curl -fsSLO https://raw.githubusercontent.com/ChrisThoma/housekeeping/main/docker-compose.yml
curl -fsSL https://raw.githubusercontent.com/ChrisThoma/housekeeping/main/.env.example -o .env
# open .env and add your ANTHROPIC_API_KEY
docker compose up -d
Open http://localhost:8000. The first screen walks you through setup.
By default only this computer can reach it. To use it from your phone or other devices, see Running it on a server.
Your data lives in the housekeeping_housekeeping-data Docker volume: the SQLite database plus every downloaded or uploaded document. To update to the latest release:
docker compose pull && docker compose up -d
To stay on one version, set HOUSEKEEPING_VERSION=0.2.0 in .env. Without Compose:
docker run -d --name housekeeping -p 127.0.0.1:8000:8000 --env-file .env \
-v housekeeping_housekeeping-data:/data --restart unless-stopped ghcr.io/christhoma/housekeeping:latest
This uses the same volume name as Compose, so the backup commands below work for both.
To build from source instead, clone the repository and run docker compose up -d --build. In a clone, docker-compose.override.yml swaps the published image for a local build.
Stop the app first, so the database isn't copied or replaced while it's being written. With docker run, use docker stop housekeeping and docker start housekeeping instead.
# Back up to ./housekeeping-backup.tar.gz
docker compose stop
docker run --rm -v housekeeping_housekeeping-data:/data -v "$PWD":/backup alpine \
tar czf /backup/housekeeping-backup.tar.gz -C /data .
docker compose start
# Restore
docker compose stop
docker run --rm -v housekeeping_housekeeping-data:/data -v "$PWD":/backup alpine \
tar xzf /backup/housekeeping-backup.tar.gz -C /data
docker compose start
The volume name is the same wherever you put the folder. Check it with docker volume ls before restoring: Docker creates a missing volume silently, empty.
This is the beginning of the README. Read the rest at the original. Read the full README ↗