Testing
Testing with Coolify: Self-Hosted Deployment Verification and Docker Testing
Coolify has emerged as the leading self-hosted alternative to platforms like Heroku and Render.
Testing
Coolify has emerged as the leading self-hosted alternative to platforms like Heroku and Render.
Testing
Every system call a container makes is an attack surface. seccomp (Secure Computing Mode) lets you define exactly which syscalls a container is allowed to make — and kill or log anything outside that list. The challenge is writing profiles that are tight enough to restrict attacker behavior but permissive enough
Testing
MailHog is an open-source local SMTP server that captures all outgoing emails and exposes them via a web UI and HTTP API. No signups, no internet connection required, and no risk of emails reaching real users. This guide covers running MailHog in Docker, asserting on captured emails via its
Chaos Engineering
Pumba is a chaos testing tool for Docker containers. It kills containers, pauses them, and injects network failures using Linux tc (traffic control) — directly on your Docker host or inside Docker Compose environments. If you run microservices locally with Docker Compose or test in Docker-based CI environments, Pumba is
Security Testing
Trivy is an open-source vulnerability scanner that covers container images (OS packages and application dependencies), Kubernetes manifests, Terraform, Dockerfiles, and secrets. It's fast, requires no setup beyond installation, and produces structured JSON or table output. Use Trivy in CI to block builds with critical vulnerabilities before they
Testing
Shipping a container image without testing it is like deploying code without running tests.
Integration Testing
Mocking database calls in Python tests creates a false sense of security. testcontainers-python spins up real PostgreSQL, Redis, and MongoDB containers via Docker during your pytest run, giving you genuine integration coverage without managing external services. Key Takeaways testcontainers-python integrates with pytest through fixtures. Define containers in conftest.
Integration Testing
Node.js integration tests that mock PostgreSQL and Redis test your assumptions, not your code. testcontainers starts real database containers during your Jest run and tears them down after. Your tests talk to the actual services — no mocks, no drift, no surprises. Key Takeaways testcontainers/node works with Jest, Vitest,
Docker
Shipping a Docker image without testing it is like deploying code without tests — the problems show up in production. Docker containers need their own testing layer: build tests, container smoke tests, integration tests, and security scans. Here's how to build that layer. Key Takeaways Test at four levels:
CI/CD
Container-based integration tests are slower in CI than you want them to be — mostly because of image pulls, layer rebuilds, and serial test execution. Fix that with layer caching, GitHub Actions service containers, and parallel job splitting. Here's exactly how. Key Takeaways GitHub Actions service containers are