OpenLogs

All tools

KitchenOwl

Grocery list and recipe manager with a Flask backend and Flutter app.

Replaces

Paid grocery list and recipe services, such as AnyList.

All open-source alternatives to AnyList

Difficulty

Difficulty: Easy

2 services, 1 volume mount, no env values to set, no elevated host access. Heuristic score 1 of 11: easy.

Stack

Dart (language)

Deployment

docker_compose

Requirements

Not stated.

License

AGPL-3.0 (OSI-approved open source)

Read from github.com/TomBursch/kitchenowl/blob/cac641c/LICENSE

Business model

Unknown

The README at the pinned commit does not state a business model, so it stays unknown.

Source: github.com/TomBursch/kitchenowl/blob/cac641c/README.md, read on .

Repository

TomBursch/kitchenowl

GitHub stats

Stars
3,762
Forks
255
Open issues and pull requests
345
Last push
2026-10-18
Latest release
v0.7.10
Released
2026-07-26

From the GitHub API on . These numbers are a snapshot, not live. GitHub detected the license as AGPL-3.0.

Compose file

Config check passed docker compose config exited 0 on this exact file on 2026-10-22.
docker-compose.yml Version 1
services:
  front:
    image: tombursch/kitchenowl-web:latest
    restart: unless-stopped
    # environment:
    #   - BACK_URL=back:5000 # Change this if you rename the containers
    ports:
      - "80:80"
    depends_on:
      - back
  back:
    image: tombursch/kitchenowl-backend:latest
    restart: unless-stopped
    environment:
      - JWT_SECRET_KEY=PLEASE_CHANGE_ME
      # - KITCHENOWL_MCP_ENABLED=true # Optional: enable MCP endpoint at /mcp
      # - FRONT_URL=http://localhost # Optional take a look at https://docs.kitchenowl.org/latest/self-hosting/advanced/ for more info
    volumes:
      - kitchenowl_data:/data

volumes:
  kitchenowl_data:

From the app's own repository: github.com/TomBursch/kitchenowl/blob/cac641c/docker-compose.yml.

Compose file from the app repository.

Install

  1. Docker with the Compose plugin (github.com/TomBursch/kitchenowl/blob/cac641c/docker-compose.yml)

    A host with Docker and the Docker Compose plugin. This entry runs from a compose file.

  2. Save the compose file as docker-compose.yml (github.com/TomBursch/kitchenowl/blob/cac641c/docker-compose.yml)

    Use the compose file shown above.

  3. Set the values the compose file needs (github.com/TomBursch/kitchenowl/blob/cac641c/docker-compose.yml)

    Replace the placeholder values listed under Gotchas.

  4. Start it (github.com/TomBursch/kitchenowl/blob/cac641c/docker-compose.yml)
    docker compose up -d
  5. Open the app (github.com/TomBursch/kitchenowl/blob/cac641c/docker-compose.yml)

    Open http://localhost:80. The compose file publishes host port 80 for the front service.

Compose file check: config_ok on 2026-10-22.

Gotchas and maintenance

Gotchas

Signals

  • Open issues and pull requests: 345
  • Last push: 2026-10-18 (3 days before this page was built)
  • Latest release: v0.7.10 on 2026-07-26 (87 days before this page was built)