AFFiNE
Workspace that mixes docs, whiteboards and databases, so a page can flip between writing and an endless canvas. Edits sync to this server as you type.
Documents / Productivity / Wiki
Grocery list and recipe manager for households, with shopping lists that sync live between everyone, recipes you can add to the list in one go, a meal planner and shared expenses.
It's in the main Portainer Templates list, so that's the URL to use, and you get hundreds of other apps with it.
In Portainer, head to Settings --> App Templates, paste this in as the URL and save.
https://raw.githubusercontent.com/Lissy93/portainer-templates/main/templates.json http://<your-server>:8070 in a browser.The same file Portainer deploys. It reads its settings from a .env next to it.
services:
kitchenowl:
image: tombursch/kitchenowl:latest
restart: unless-stopped
ports:
- "${KITCHENOWL_PORT:-8070}:8080"
environment:
JWT_SECRET_KEY: ${KITCHENOWL_SECRET:?Set a secret key}
volumes:
- kitchenowl-data:/data
volumes:
kitchenowl-data:
Fill in the blanks, as KitchenOwl won't start without them.
# Secret key (required) - Signs everyone's logins. Generate one with: openssl rand -hex 32. Keep it the same when you redeploy, or everyone gets logged out.
KITCHENOWL_SECRET=
# Host port for the web UI
KITCHENOWL_PORT=8070 Grab the file and start it.
mkdir kitchenowl && cd kitchenowl
curl -fsSL -o compose.yml https://raw.githubusercontent.com/NotAFlightRisk/portainer-templates-extras/main/apps/kitchenowl/compose.yml
# save the .env tab here as .env first
docker compose up -d Set the secret key before you deploy (openssl rand -hex 32 makes a good one), since the stack won't start without it. Then open http://<your-host>:8070 (or whichever port you picked) and the first page creates the admin account. There's no setup code, so do it straight after deploying. Sign-ups are off, so the admin adds everyone else under Settings --> Users, then adds them to a household's members. The SQLite database and uploaded photos live in the kitchenowl-data volume. Docs: docs.kitchenowl.org
What the Portainer form asks for. With compose they go in the .env file instead.
| Variable | What it's for | Default |
|---|---|---|
KITCHENOWL_SECRET | Secret key (required) Signs everyone's logins. Generate one with: openssl rand -hex 32. Keep it the same when you redeploy, or everyone gets logged out. | Needs filling in |
KITCHENOWL_PORT | Host port for the web UI | 8070 |
The containers this stack runs, with ports as they come out of the box.
| Service | Image | Ports |
|---|---|---|
kitchenowl | tombursch/kitchenowl:latest | 8070:8080 |