Skip to content

Getting started

SirTobyB edited this page Aug 14, 2026 · 1 revision

Getting started

Proviant is self-hosted: you run it, you keep the data. The quickest route is the ready-made Docker image.

1. Start the container

docker compose -f docker-compose.prod.yml up -d

The compose file pulls ghcr.io/sirtobyb/proviant:latest. The app listens on port 3000; everything persistent (database, pictures, Picnic auth key) lives in the ./data volume. Migrations run automatically on every start, so upgrades need no manual steps.

2. Set the environment variables

The ones you cannot skip:

Variable What it does
ORIGIN The public URL of your installation. adapter-node uses it for CSRF protection — if it does not match the address you actually open, every form submission fails.
ADMIN_USERNAME, ADMIN_PASSWORD The first administrator. Created only on the very first start, while no user exists. Without them you cannot get in.
PICNIC_USERNAME, PICNIC_PASSWORD Only needed for the Picnic features. Everything else works without them.

Passwords containing # or $ must be quoted in .env and in docker-compose*.yml. An unquoted # starts a comment and your password is silently truncated — the login then fails for no visible reason.

3. Sign in

Open your ORIGIN address and sign in with the admin you configured. Change the password on the Account page right away; the one from the environment variable is visible to anyone who can read the compose file.

4. Install it on your phone

Proviant is a PWA — it installs to the home screen and then behaves like an app, full screen and with camera access for the scanner.

  • Android (Chrome): menu → Add to Home screen. Chrome must recognise the site as installable; if it warns about "built for an older version of Android", see the FAQ.
  • iPhone (Safari): share button → Add to Home Screen.

Install it from the same address you use otherwise, over HTTPS. The camera is unavailable over plain http:// on anything but localhost.

5. Set it up for your household

In this order, it takes about twenty minutes:

  1. Storage locations — five are created for you (kitchen cupboard, fridge, freezer, pantry shelf, drinks cellar). Rename them to match your home; add or retire as needed.
  2. Users — one account per person, so the journal can tell you who booked what.
  3. Items — the products you keep in stock. The fastest way is to scan a barcode: name, size and picture are filled in from Open Food Facts. If you use Picnic, Items → Picnic import pulls in everything from your last ten deliveries at once.
  4. Minimum stock per item — this is what drives the order suggestions. Zero means "never suggest".
  5. Ordering — connect to Picnic once (login plus an SMS code).

Then book what you already own into stock, either by scanning or via the Stocktake page.

Clone this wiki locally