VoucherVault logo

VoucherVault

Digitally store and manage vouchers, coupons, loyalty and gift cards

Alternative to: stocard


VoucherVault is a Django web application to store and manage vouchers, coupons, loyalty and gift cards digitally. It supports client-side barcode/QR redeem-code scanning, gift card transaction history, expiry notifications, multi-user access, and a REST API for dashboards like Home Assistant.

VoucherVault Docker Compose example

Self-host VoucherVault on your own server, homelab, or VPS starting from this Docker Compose example. It runs VoucherVault in Docker containers using the official l4rm4nd/vouchervault:latest, redis:7-alpine 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:
  vouchervault:
    image: l4rm4nd/vouchervault:latest
    restart: unless-stopped
    depends_on:
      - redis
    environment:
      # Your public domain / FQDN (or IP) where the app is served. Multiple hosts
      # can be comma-separated. Must match the address used to reach the app or
      # Django will reject the request (DisallowedHost). localhost/127.0.0.1 are
      # always allowed in addition to this value.
      DOMAIN: "vouchervault.example.com"
      # Set to True when served behind a reverse proxy with TLS. Enables the
      # secure-cookie flag and HSTS.
      SECURE_COOKIES: "False"
      # Send expiry notifications this many days before a voucher/card expires.
      EXPIRY_THRESHOLD_DAYS: "90"
      # Container timezone.
      TZ: "UTC"
      # Django secret key used to sign sessions and cookies. Set this to a long
      # random value; keeping it stable means users stay logged in across restarts
      # (if left unset the app generates a new random key on every start).
      SECRET_KEY: "changeme"
    volumes:
      - database:/opt/app/database

  redis:
    image: redis:7-alpine
    restart: unless-stopped

volumes:
  database:

Values set to changeme are required — replace them with your own values before starting VoucherVault.

Prefer a managed setup? WinterFlow installs, configures, and updates VoucherVault for you using this same Docker Compose configuration.