Self-hosted boarding pass manager with multi-user support and Android sync.
dockwallet/
├── backend/ # FastAPI + PostgreSQL → cheinisch/dockwallet-backend
├── frontend/ # Tailwind CSS + Nginx → cheinisch/dockwallet-frontend
├── db/ # PostgreSQL init script
└── docker-compose.yml
- Docker ≥ 24
- Docker Compose ≥ 2.20 (included with Docker Desktop)
git clone https://github.com/cheinisch/dockwallet.git
cd dockwalletcp .env.example .envOpen .env and adjust the values:
# Database
POSTGRES_USER=dockwallet
POSTGRES_PASSWORD=changeme
POSTGRES_DB=dockwallet
# Backend
SECRET_KEY=your-secret-key-hereTip: Generate a secure secret key with
openssl rand -hex 32.
docker compose up -dThis pulls the images and starts three containers: PostgreSQL, the FastAPI backend, and the Nginx frontend.
Navigate to http://localhost:8080.
| Field | Value |
|---|---|
| Username | admin@local |
| Password | changeme |
Important: Change the admin password immediately after the first login.
docker compose pull
docker compose up -d| Image | Description |
|---|---|
cheinisch/dockwallet-backend |
FastAPI REST API |
cheinisch/dockwallet-frontend |
Tailwind UI served by Nginx |
The companion Android app (cheinisch/dockwallet-app) connects to your self-hosted instance and keeps boarding passes in sync across multiple devices.
Full documentation is available at docs.dockwallet.app.