Repolode
PanSalut

PanSalut/Koffan

Self-hosted shared grocery shopping list web app for families and households, with real-time sync and offline mode.

Open-source alternative to:AnyListGoogle Keep

Stars
825
Forks
85
Open issues
50
Last commit
22 days ago

What is it?

Koffan is a lightweight web application for managing shopping lists together. Several people can edit the same lists from different devices, and changes sync in real time over WebSocket so everyone can see what is still needed and what is already in the cart.

It runs in any browser on mobile or desktop and can be installed as a PWA. Lists can be split into sections such as dairy or cleaning, products can be marked as purchased or uncertain, and autocomplete suggests items from earlier history. Lists can be created, edited and checked off offline, and pending changes sync when the connection returns.

By default it uses a single shared password. Setting MULTI_USER=true enables personal accounts and separate workspaces, so several households can share one server. The Go backend uses SQLite for storage, and the project provides a REST API and signed outbound webhooks for integrations.

Key features

  • 01Real-time sync of shared lists across devices via WebSocket
  • 02Offline creation and editing with automatic sync on reconnect
  • 03Sections, custom list icons and multiple lists
  • 04Auto-completion based on purchase history
  • 05Optional personal accounts and separate workspaces
  • 06REST API and signed outbound webhooks

Use cases

  • A couple or family building one shared grocery list from separate phones
  • Sharing one self-hosted server between several households with separate lists
  • Syncing shopping items into automation tools such as n8n or Zapier via webhooks
  • Using the list offline inside a store with poor signal

Quick start

  1. 1

    Start Koffan with Docker using the README quick start command

    docker run -d -p 3000:8080 -e APP_PASSWORD=yourpassword -v koffan-data:/data ghcr.io/pansalut/koffan:latest
  2. 2

    Open http://localhost:3000 in your browser and sign in with your password

Things to know

  • The README does not state a clear open-source license, so check the repository's license terms before reuse.
  • Offline support requires serving Koffan over HTTPS, since plain HTTP on a home network does not provide it.
  • Upgrading to 2.16.0 migrates the database with no downgrade path, so back up your database first.

In collections

Topics

FAQ

What is Koffan?
Self-hosted shared grocery shopping list web app for families and households, with real-time sync and offline mode. Koffan is a lightweight web application for managing shopping lists together. Several people can edit the same lists from different devices, and changes sync in real time over WebSocket so everyone can see what is still needed and what is already in the cart.
Is Koffan free to use? What license does it have?
Koffan is open source under the Other license. Check the license terms before using it in commercial products.
Is Koffan still maintained?
Actively maintained. The last commit to Koffan was on Oct 16, 2026.
What can I use Koffan for?
A couple or family building one shared grocery list from separate phones Sharing one self-hosted server between several households with separate lists Syncing shopping items into automation tools such as n8n or Zapier via webhooks Using the list offline inside a store with poor signal
How do I install Koffan?
Start Koffan with Docker using the README quick start command: docker run -d -p 3000:8080 -e APP_PASSWORD=yourpassword -v koffan-data:/data ghcr.io/pansalut/koffan:latest Open http://localhost:3000 in your browser and sign in with your password
Where can I get Koffan?
The source code and installation instructions are on GitHub: https://github.com/PanSalut/Koffan

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects