Releases: cheinisch/dockwallet
Releases · cheinisch/dockwallet
Release list
Version 0.2.0
DockWallet v0.2.0 — Favorites & Sync Improvements
DockWallet is a self-hosted, Docker-based digital wallet for managing Apple Wallet passes (.pkpass) — accessible via browser and Android app.
What's New
Favorites
- Mark passes as favorites with a single tap/click
- Favorite passes are always sorted to the top within each section (upcoming / past)
- Favorite state syncs to the Android app via the existing sync API
Android Sync Improvements
last_synctimestamp is now tracked per device for more reliable delta sync- Indexed queries on
updated_atensure faster sync responses as pass libraries grow - Sync token registration includes device name for easier management
Pass Metadata
event_dateis now stored and evaluated separately fromexpiration_date, enabling more accurate expiry detection for event tickets- Subtitle field added to pass storage for richer display in grid cards
Fixes & Improvements
- Database migrations are additive and non-destructive — existing installations upgrade automatically on container restart
- Sync endpoint stability improvements
Quick Start
curl -o docker-compose.yml https://raw.githubusercontent.com/cheinisch/dockwallet/main/docker-compose.yml
docker compose up -dOpen http://your-server:8080 and log in with:
- Username:
admin - Password:
changeme
Change the default admin password immediately after first login.
Upgrading from v0.1.x
docker compose pull && docker compose up -dDatabase migrations run automatically on startup. No manual steps required.
Requirements
- Docker & Docker Compose
- A server with port 8080 available (configurable)
Known Limitations
- Pass signature verification checks for Apple issuer presence in the PKCS#7 structure but does not perform full cryptographic chain validation
- No push notifications for pass updates
Bump backend & frontend versions to 0.0.2
Update package.json versions for both dockwallet-backend and dockwallet-frontend from 0.0.1 to 0.0.2. No other changes included — prepares a new patch release for both packages.
First Release
DockWallet v0.0.1 — Initial Release 🎉
DockWallet is a self-hosted, Docker-based digital wallet for managing Apple Wallet passes (.pkpass) — accessible via browser and Android app.
🚀 Features
Pass Management
- Upload
.pkpassfiles via file picker, drag & drop, or URL import - QR code scanner for importing passes directly from booking confirmations
- Supports all Apple Wallet pass types: Boarding Pass, Event Ticket, Coupon, Store Card, Generic
- Automatic extraction of pass colors, logos, strip images and background images from the
.pkpassarchive - Barcode rendering for all formats: QR Code, PDF417, Code128, Aztec
- Pass signature verification (Apple PKCS#7)
- Automatic detection of voided and expired passes
Pass Display
- Compact ticket-style grid view with authentic pass colors
- Boarding passes shown as realistic paper tickets with perforation line and IATA route display
- Generic passes (parking, cinema cards, loyalty cards, event tickets) shown in native Apple/Google Wallet style with logo, strip image and field grid
- Detail overlay with sidebar showing back fields, metadata and signature status
- Separate sections for upcoming and expired/voided passes
Multi-User & Authentication
- JWT-based login with username/email + password
- Multi-factor authentication (TOTP)
- Passkey support (WebAuthn / FIDO2)
- Email verification and password reset flows
- Account deletion with token confirmation
Admin Dashboard
- User management: create, edit, delete users
- Toggle active status, admin role, reset MFA and passkeys
- System status panel showing Frontend version, Backend version and uptime
- Docker Hub update detection via backend proxy (compares image push date with container start time)
Infrastructure
- Single
docker compose updeployment - PostgreSQL database with UUID primary keys throughout
- Nginx-served frontend with API reverse proxy
- Automatic database migrations on startup
- Docker images:
cheinisch/dockwallet-frontendandcheinisch/dockwallet-backend
🐳 Quick Start
curl -o docker-compose.yml https://raw.githubusercontent.com/cheinisch/dockwallet/main/docker-compose.yml
docker compose up -d
Open http://your-server:8080 and log in with:
- Username:
admin - Password:
changeme
⚠️ Change the default admin password immediately after first login.
📋 Requirements
- Docker & Docker Compose
- A server with port 8080 available (configurable)
🗄️ Tech Stack
| Component | Technology |
|---|---|
| Backend | Node.js 22, Express, PostgreSQL |
| Frontend | React 18, Vite, Tailwind CSS |
| Auth | JWT, bcrypt, TOTP (otplib), WebAuthn |
| Barcodes | qrcode, bwip-js |
| Infrastructure | Docker, Nginx, PostgreSQL 16 |
⚠️ Known Limitations
- Pass signature verification checks for Apple issuer presence in the PKCS#7 structure but does not perform full cryptographic chain validation — passes with valid Apple signatures may show as unverified if the certificate chain cannot be resolved
- Android sync app is functional but not yet included in this release
- No push notifications for pass updates
🔄 Upgrading
docker compose pull && docker compose up -d
The admin dashboard will notify you when a new image is available on Docker Hub.