kanzo
Self-hosted, sharable kanban for humans and agents. One 4.5 MB binary, 4.5 MB of RAM, 10 to 60 tokens per agent reply, starts in 2 ms, zero setup.
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Good care shows — shared reptile and animal husbandry tracking for the whole household.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Shed is a small, shared dashboard for households that keep animals together. One person feeds, another mists, someone logs a weight — Shed keeps a single calm care list that works across everyone's phones, credits each keeper by name, and turns completed care into history you can actually use: feeding records, weight trends in grams, and an append-only husbandry log.
The idea: today's care should be visible to the whole household, and yesterday's care should never be lost.
New to Shed? The complete getting-started guide explains first login, the recommended enclosure → animal → care-plan setup order, household accounts, backups, and phone installation.
Shed runs as a Docker container on any always-on machine on your home network — an old PC, a NAS, a home server, or a Raspberry Pi.
curl -fsSL https://animalroom.app/shed/install.sh | bash
The installer downloads a prebuilt Shed image, turns on sign-in, and saves a one-time setup token in shed/.env. Nothing is compiled on your machine.
http://your-server:3000 on your phone or computer.Re-run the same command any time to update Shed. Before interrupting a running install it verifies a SQLite backup, and if startup fails it restores the exact previous Compose settings, image, and running state.
Requirements: Docker with the Compose plugin, and a machine that stays on.
Once Shed contains records, safe updates also require the small sqlite3 command
(sudo apt-get install -y sqlite3 on Raspberry Pi OS/Debian). If it is missing,
the installer leaves the current service running and tells you how to add it.
Shed is published as a multi-architecture image, so 64-bit Raspberry Pi OS,
Debian, Ubuntu, a NAS, and an x86 box all pull the right build automatically.
Shed needs about 400 MB of free memory to start — measured at 154 MB resident
moments after startup, with headroom for the pull and first-run migrations. On a
small board that means Raspberry Pi OS Lite rather than a desktop session.
Prefer to write the two files yourself? That works too — Shed is an ordinary compose service:
mkdir -p ~/shed && cd ~/shed
curl -fsSLO https://raw.githubusercontent.com/jlyfshhh/shed/main/compose.yaml
curl -fsSL https://raw.githubusercontent.com/jlyfshhh/shed/main/.env.example -o .env
# replace both example secrets and set SHED_UID/SHED_GID to `id -u`/`id -g`
mkdir -p data backups && chmod 700 data backups && chmod 600 .env compose.yaml
docker compose up -d
The installer performs that ownership and permission setup automatically, including repairing data files left by older root-running images. The container runs without Linux capabilities, with a read-only application filesystem and bounded memory, CPU, and process counts. Only the SQLite data mount and two ephemeral scratch mounts are writable.
For one chooser that can install Bask, Shed, or both with their combined room dashboard, use the Haven installer.
Shed can run by itself, or alongside Bask:
| Project | What it watches | |
|---|---|---|
| ☀️ | Bask | The environment — live temperature & humidity from Bluetooth sensors, on a wall display |
| 🐍 | Shed (this repo) | The care — feeding, weights, enclosure work, schedules, and history for terrestrial animals |
| 🌿 | Haven | The combined room view — enclosure status and today's remaining care in one glance |
Haven is not a third database. It is the secure, read-only room dashboard that appears when Bask and Shed are installed together. The apps remain separate, so either can still work independently and each keeps its own portable data.
docker compose pull is not a safe substitute when crossing a runtime or
storage migration.scripts/backup.sh writes dated SQLite snapshots (with configurable retention) into shed/backups. You can also download a full JSON or CSV export from the app at any time.Shed ignores client-supplied forwarding IP headers on a normal direct-LAN install.
If you put it behind a reverse proxy, leave SHED_TRUSTED_PROXY_IP_HEADER blank
unless the origin is reachable only through that proxy and the proxy strips and
overwrites the chosen header. The setting is solely an optional per-source login
throttle; authentication does not depend on an IP address.
Image releases include OCI source, revision, version, and license metadata plus BuildKit provenance and an attached software bill of materials (SBOM). These describe the published image; they do not replace verifying the release digest when pinning a production install.
Shed is a Next.js 16 app that runs on Cloudflare Workers with a D1-compatible SQLite database (Drizzle ORM). Node 22.13+.
npm install
npm run dev
To run the container from your own checkout rather than the published image:
docker compose -f compose.yaml -f compose.dev.yaml up -d --build
The API contract the interface is built against lives in docs/backend-contract.md.
Shed records the care you decide on; it doesn't decide it for you. Feeding frequencies, schedules, and husbandry practices vary by species, age, and individual animal — verify your routine against trusted care resources. Shed is a tracking aid, not a substitute for proper research and care.
MIT — see LICENSE.
Built by jlyfshhh. I keep a room full of reptiles and amphibians — follow along on Instagram @thebioactivekeeper for the real animal room and bioactive builds behind these projects.
Shed is free, open-source, and local-first. If it helps your household, you can support Animal Room on Ko-fi. Tips help cover test sensors, Raspberry Pi hardware, the domain, and compatibility work.
Built with the help of AI assistants (OpenAI Codex and Anthropic's Claude). Reviewed, tested, and deployed by a human (me).