DWMP

Dude, Where's My Package?

Self-hosted package tracking for Dutch carriers

Track packages from Amazon, PostNL, DHL, DPD, and GLS with a REST API, web dashboard, Chrome extension, and Home Assistant integration.

Amazon PostNL DHL DPD GLS

Everything you need to track your packages

A complete self-hosted solution for package tracking with multiple sync methods, real-time notifications, and smart integrations.

Multi-Carrier Tracking

Connect accounts from Amazon, PostNL, DHL, DPD, and GLS. Automatic background polling keeps your package status up to date every 30 minutes.

Chrome Extension

Auto-sync captures packages directly from carrier websites. Detects carrier tabs, one-click sync, configurable intervals, and auto-login support.

Home Assistant

Run as an HA addon with a sidebar tile. Exposes sensor entities with package attributes, a Lovelace card, and automation events on status changes.

Real-time Notifications

Browser push notifications on status changes. Notification center with unread badges and full status transition history across all carriers.

REST API

Full JSON API with OpenAPI/Swagger docs. Manage accounts, packages, and notifications programmatically. JWT Bearer token authentication.

Self-Hosted & Private

Runs in Docker or Kubernetes. SQLite database, no cloud dependency. Your tracking data stays on your own hardware. Optional password protection.

See it in action

A dark-themed dashboard built for quick scanning of all your package statuses at a glance.

dwmp.home.local

Dutch carrier coverage

All major Dutch parcel carriers supported with automatic or manual sync options.

Amazon

Amazon

Email & password
Account sync with TOTP support. Headless browser login with share-token capture.
PostNL

PostNL

Manual token
GraphQL API with automatic token refresh. Postal code discovery for public tracking.
DHL

DHL

Email & password
eCommerce API with optional DHL Unified Tracking for rich event timelines.
DPD

DPD

Credentials + browser push
Keycloak SSO auto-login. Chrome extension auto-fill or browser-push bookmarklet.
GLS

GLS

Public API
No account needed. Public tracking with tracking number and postal code.

Up and running in minutes

Deploy with Docker, Kubernetes, or as a Home Assistant addon.

terminal
# Pull and run the latest image
docker run -d \
  --name dwmp \
  -p 8000:8000 \
  -v dwmp-data:/app/data \
  -e TZ=Europe/Amsterdam \
  -e POLL_INTERVAL_MINUTES=30 \
  ghcr.io/stevendejongnl/dude-wheres-my-package:latest
terminal
# Clone and apply the manifests
git clone https://github.com/stevendejongnl/dude-wheres-my-package.git
cd dude-wheres-my-package

# Edit kubernetes/configmap.yaml with your settings
kubectl apply -f kubernetes/
1
Add the MadeBySteven HA Addons repository to your Home Assistant addon store.
2
Install Dude, Where's My Package? from the addon store and start it. The web UI appears as a sidebar tile.
3
For sensor entities and automations, install the DWMP integration via HACS from stevens-home-assistant-integrations.

Sync packages from your browser

  • Auto-sync on a configurable schedule (30 min to 6 hours)
  • Detects carrier websites and syncs the current page
  • Auto-login for DPD with stored credentials
  • Cloudflare challenge detection — stops and alerts you
  • Self-updating from your own server
Download Latest Release

Load as an unpacked extension via chrome://extensions in developer mode, or install the signed .crx file.