Our Shopping List
Simple, real-time collaborative shopping and todo lists
Alternative to: anylist, bring, ourgroceries

Our Shopping List (OSL) is a lightweight shared-list app for shopping lists or any small todo list used collaboratively. Items sync in real time between users, support quantity and detail fields, and can be checked off, searched, or mass-created by pasting CSV. Boards let you group multiple lists together, with an optional single-board mode for simpler setups. It has a mobile-first, swipeable UI with basic PWA support.
Our Shopping List Docker Compose example
Self-host Our Shopping List on your own server, homelab, or VPS starting from this Docker Compose example.
It runs Our Shopping List in Docker containers using the official ourshoppinglist/our-shopping-list:latest, mongo:7 images, with persistent volumes and automatic restarts preconfigured.
Review the environment variables and adjust them to your setup, save the file as compose.yml (or docker-compose.yml), and start the stack with docker compose up -d.
services:
app:
image: ourshoppinglist/our-shopping-list:latest
restart: unless-stopped
environment:
# UI language, as an Accept-Language compatible locale code (e.g. en, fr, de).
VITE_APP_I18N_LOCALE: "en"
# Fallback locale used for any untranslated strings.
VITE_APP_I18N_FALLBACK_LOCALE: "en"
# Force the UI to always use VITE_APP_I18N_LOCALE (1) instead of detecting the browser language (0).
VITE_APP_I18N_FORCE_LOCALE: "0"
# Single-board mode: show a single shared board without the boards list (1) or run in multi-board mode (0).
VITE_APP_SINGLEBOARD_MODE: "0"
# Hostname of the MongoDB service to connect to.
MONGODB_HOST: "mongodb"
# Port of the MongoDB service.
MONGODB_PORT: "27017"
# MongoDB database name used to store lists and items.
MONGODB_DB: "osl"
depends_on:
- mongodb
mongodb:
image: mongo:7
restart: unless-stopped
volumes:
- dbdata:/data/db
volumes:
dbdata: Prefer a managed setup? WinterFlow installs, configures, and updates Our Shopping List for you using this same Docker Compose configuration.