Shift Planner WAHA
WAHA (WhatsApp HTTP API) service for Shift Planner reminders.
What runs here
- docker image:
devlikeapro/waha - local API endpoint:
http://127.0.0.1:3010 - session storage:
./sessions - media storage:
./media - log file (via mounted log dir):
shift-planner-waha.log - log rotation: po
100 MBnashift-planner-waha.0001.log,shift-planner-waha.0002.log, ...
Server-only run (recommended)
If you want to run WAHA only on mathbox.90.cz, use deploy script directly:
./scripts/deploy-shift-planner-waha.sh
Deploy script uploads local .env when present.
If .env contains placeholder values (CHANGE_ME...), deploy stops for safety.
Deploy now requires explicit local .env file and always uploads it.
Local run (optional)
Start:
./scripts/start-shift-planner-waha.sh
Stop:
./scripts/stop-shift-planner-waha.sh
Before local start, create shift-planner-waha/.env explicitly
(for example by copying .env.example) and set strong values:
WAHA_API_KEYWAHA_DASHBOARD_PASSWORDWHATSAPP_SWAGGER_PASSWORD
Note: WAHA may auto-generate a random dashboard password when weak credentials are used
(for example admin/admin). Use a strong password and redeploy/restart.
Deployment (mathbox.90.cz)
Deploy:
./scripts/deploy-shift-planner-waha.sh
Defaults:
- remote dir:
/home/agent/docker_deployments/shift-planner-waha - domain (optional):
waha.mathbox.90.cz - remote logs dir:
/home/agent/shift-planner/logs
Deploy script always uploads local shift-planner-waha/.env to server.
If the local .env is missing, deploy fails.
After deploy, logs are written to:
/home/agent/shift-planner/logs/shift-planner-waha.log
Basic WAHA flow
- Create session via API (
POST /api/sessions). - Open screenshot endpoint and scan QR (
GET /api/screenshot). - Send message (
POST /api/sendText) to groupchatIdending with@g.us.
Practical notes
- V pouzite WAHA edici nelze vytvaret/spravovat API key v dashboardu (
422). - Odesilajici jmeno zpravy je profilove jmeno WhatsApp uctu v dane session.
- Z jednoho cisla nelze odesilat pod vice jmeny per zprava.
- Pro dve identity pouzij dve WAHA sessions navazane na dve ruzna cisla.
Monitoring
- kontejner bezi s
restart: unless-stopped - standardizovany repo endpoint
GET /healthztu zatim neni vynucen, protoze jde o third-party image - pro monitoring tady preferuj vendor-specific endpoint az po overeni konkretni WAHA image a jejiho auth chovani