Taskspark is a family chore board and a points board. One phone sets a household code. That phone is approved. Later phones enter the same code and wait until an approved phone accepts them under Admin, Devices.
The board is Today, Tomorrow, and Later. Each task is worth 5, 10, or 20 points. The bottom bar opens Chores, the scoreboard, Rewards, and Calendar. Rewards is a household list: a person spends the points they have earned. There is no payment. The menu opens Completed, Admin, and Light or Dark.
There is no household code in the image. The first phone chooses it.
A push to main makes GitHub build ghcr.io/d1same/taskspark for linux/amd64 and linux/arm64. You pull that image.
You put the board on the kitchen computer. Chores stay in the data folder, so a reboot does not wipe the house.
docker run -d --name taskspark --restart unless-stopped -p 7370:7370 -v taskspark:/data ghcr.io/d1same/taskspark:latestTo keep the database in a folder on the computer instead of a named volume, use -v /path/to/taskspark:/data in that same command.
Open http://127.0.0.1:7370.
The container runs as user id 1000. That user must be allowed to write the data folder.
Logs are one line each, with a time and the word info or error. Read them with docker logs taskspark. On Unraid, open the container log.
latest is the newest image. 0.1.0 stays the rollback pin. To go back, set the tag to an older version, for example ghcr.io/d1same/taskspark:0.1.0, instead of latest.
docker run -d --name taskspark --restart unless-stopped -p 7370:7370 -v taskspark:/data ghcr.io/d1same/taskspark:0.1.0The data folder stays. Bump the VERSION file for the next release so 0.1.0 stays on this image.
From this folder:
docker compose up -dCompose pulls ghcr.io/d1same/taskspark:latest. GitHub built that tag.
Add a container in the Docker page.
- Image:
ghcr.io/d1same/taskspark:latest - Network: bridge
- Port: host
7370to container7370 - Path:
/mnt/user/appdata/tasksparkto/data - Variable:
TZ=America/New_York - Privileged: off
- Extra devices: none
The appdata folder must be writable by user id 1000.
To roll back, edit the container and set the repository to an older tag, for example ghcr.io/d1same/taskspark:0.1.0, instead of latest. Then apply. Read problems in the container log.
unraid/taskspark.xml is a Community Applications style template with those same fields. Paste this template URL into the Unraid Docker UI:
https://raw.githubusercontent.com/d1same/Taskspark/main/unraid/taskspark.xml
This folder is a local add-on. config.yaml pulls ghcr.io/d1same/taskspark:latest, the image GitHub built.
- Copy this folder to
/addons/tasksparkon the Home Assistant host. - Open Settings, Add-ons, Add-on store. Reload the store.
- Install Taskspark and start it.
- Open port 7370.
The add-on stores the database in its data folder, mounted at /data.
The app is a PWA. Add it to the home screen from the browser menu. On a public HTTPS address, the session cookie is HttpOnly, Secure, and SameSite=Lax. On plain HTTP, such as a local Docker port, the cookie stays HttpOnly and SameSite=Lax so the phone can remember the household.
npm testMIT. See LICENSE.