MinIO Object Storage After the Community Edition Ended
Object storage with MinIO: stateless apps, boto3 and presigned URLs, erasure coding, object lock, and what to run now that the community edition is archived.
Object storage with MinIO: stateless apps, boto3 and presigned URLs, erasure coding, object lock, and what to run now that the community edition is archived.
What to get right before running Kubernetes in production: resources and QoS, probes, CrashLoopBackOff debugging, Gateway API, Secrets, HPA and pod security.
Image processing in Python with Pillow 11+ and OpenCV 4.x: safe uploads, EXIF rotation, WebP, headless OpenCV in Docker and a background processing pipeline.
Read, split, merge, encrypt and generate PDFs in Python: pypdf, pdfplumber for tables, WeasyPrint for HTML to PDF, OCRmyPDF for scans and pyHanko for signing.
A GitHub Actions CI/CD pipeline for Python: tests with uv, Docker images on GHCR, approval-gated deploys, reusable workflows, OIDC and security hardening.
Graceful shutdown for Python services: catching SIGTERM in plain Python and asyncio, the Docker PID 1 trap, Kubernetes preStop and systemd services.
Self-hosted monitoring with Uptime Kuma 2: Docker setup, reverse proxy, keyword and push monitors, Telegram and webhook alerts, hardening and backups.
Poetry and uv for Python project management: lock files, dependency groups, Docker and CI setups, publishing. An honest comparison of when to use which.
A practical Traefik v3 setup for Docker: label-based routing, automatic Let's Encrypt SSL, middlewares, sticky sessions, canary releases and v2 migration traps.
How I dockerize Python apps: a multi-stage Dockerfile with uv, a non-root user, a healthcheck without curl, Docker Compose for local dev and SHA image tags.