All-in-one Docker image with prebuilt language support (#42)
* All-in-one Docker image with dev mode support
Simplify deployment with a single container that includes both the proxy
and Presidio PII detection. No git clone required - just docker run.
Changes:
- Combined Dockerfile: Multi-stage build with Presidio + Bun in one container
- supervisord: Process manager for running both services
- Prebuilt images: ghcr.io/sgasser/pasteguard:en (~2.7GB) and :eu (~12GB)
- Release workflow: GitHub Actions to build en/eu images on version tags
- Dev mode: docker compose up presidio -d for local development with hot-reload
- Updated docs: curl-based installation, no cloning needed for production
- Language models: Changed from _md to _lg for better PII detection accuracy
Image tags:
- en (default/latest): English only
- eu: European languages (en, de, es, fr, it, nl, pl, pt, ro)
* Move Docker files into docker/ directory
Reorganize Docker-related files for cleaner project structure:
- Dockerfile → docker/Dockerfile
- supervisord.conf → docker/supervisord.conf
- presidio/ → docker/presidio/
Keep docker-compose.yml in root for convenience (docker compose up works).
Update all path references in workflow, configs, and docs.
* Fix CI: update Dockerfile path
* Include config.example.yaml in Docker image for zero-config startup
* Simplify docs: zero-config quickstart
* Add missing ENV detection entities to config example
Add ENV_PASSWORD, ENV_SECRET, and CONNECTION_STRING to the
secrets_detection entities section to match what's documented
and implemented.
* Auto-configure languages per Docker image
- Add PASTEGUARD_LANGUAGES env var to Dockerfile (set from LANGUAGES build arg)
- Update config.example.yaml to use env var with fallback to 'en'
- Support comma-separated string for languages config (e.g., "en,de,fr")
- EN image now auto-enables English, EU image auto-enables all 9 EU languages
Users can still override via config.yaml with array syntax if needed.
* Update docs: languages are auto-configured per image
* Clarify runtime vs build-time env vars in docs
* Update docs: languages are auto-configured per Docker image
* Remove confusing env var override example from docs
* List specific EU languages in docs instead of 'All 9'
19 files changed: