Files
evidencija-rezija/docker-stack
Knee Cola 3d02654510 feat: add webhook signature verification and fix security issues
Security Improvements:
- Add HMAC-SHA256 signature verification for MailGun webhooks
- Remove hardcoded signing key fallback, require env variable
- Add proper payload structure validation before processing

API Changes:
- New types: MailgunWebhookPayload, MailgunWebhookPayloadSignature
- New type guard: isMailgunWebhookPayload()
- Returns 401 for invalid signatures, 400 for malformed payloads

Configuration:
- Add MAILGUN_WEBHOOK_SIGNING_KEY to both docker-compose files
- Service fails fast on startup if signing key not configured

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-07 22:13:09 +01:00
..

Docker Stack

Docker Compose configurations and deployment scripts for the Evidencija Režija application.

Files

Docker Compose Configurations

  • docker-compose-standalone.yaml - Standalone deployment with docker-compose
  • docker-compose-swarm.yml - Docker Swarm deployment
  • docker-compose-debug.yml - Debug/development deployment

Deployment Scripts

  • deploy-standalone.sh - Deploy standalone configuration
  • deploy-swarm.sh - Deploy swarm configuration

Usage

Deploying Standalone

cd docker-stack
./deploy-standalone.sh 2.20.0

Deploying to Swarm

cd docker-stack
./deploy-swarm.sh 2.20.0

Prerequisites

  • Docker image must be built first: cd ../web-app && ./build.sh 2.20.0
  • MongoDB data directory: ../mongo-volume/
  • MongoDB backup directory: ../mongo-backup/

Configuration

All compose files reference:

  • Web app image: utility-bills-tracker:${IMAGE_VERSION}
  • Volume mounts: ../web-app/etc/hosts/
  • MongoDB data: ../mongo-volume/
  • MongoDB backups: ../mongo-backup/