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.