Insights, tutorials, and updates from the CoolVDS team
Trivy exits 0 even with CRITICAL findings. I built it from source and made it a real CI gate, then found a secret-scan skip that a green result can hide.
Official Supabase Docker stack on a clean Ubuntu sandbox: the pooler and Edge Functions crash-looped. Why, and a compose override that fixed both, with tests.
Building Prometheus from source on a host with older Go and Node than the repo asks for: what the build does, what warns, and how I verified the result.
Dokku's nginx templates listen on [::] by default. Here is why nginx refuses to start on a host without IPv6, and how to fix it, including notes forβ¦
How to set up a single-node edge MQTT aggregator with K3s and WireGuard, and how to fix the faulty flags, units and sysctls that edge guides often repeat.
A reference for lowering a cloud bill: measure first, right-size, use Spot for interruptible work, schedule capacity, compare regions, and track egress.
A Bun or Node.js service can be slow on a VPS because of CPU steal or slow disks. How to measure both, fix the host first, and then compare runtimes fairly.
How to move a large live PostgreSQL or MySQL database to a new server with streaming replication and a short write freeze, including the pitfalls in commonβ¦
Pods lose DNS after an egress NetworkPolicy is applied. This article covers the wrong namespace label, the missing TCP port 53 rule and a tested-in-theory fix.
How to replace hand-run kubectl apply with a pull-based GitOps flow: Argo CD, Kustomize overlays, Sealed Secrets and a CI job that only edits an image tag.
How to link a hyperscaler workload to a database on a Norwegian VPS with WireGuard, what the tunnel does not fix, and the common mistakes in such setups.
Control planes built on etcd or Raft fail on slow disks. How to test fsync latency, pick between Kubernetes, K3s and Nomad, and prepare a K3s node.
Why Kubernetes, Docker Swarm and Nomad clusters turn flaky on slow disks or stolen CPU, how to measure it with fio and vmstat, and what to change.
Enforce CIS network sysctl baselines with Ansible, gate deployments on OpenSCAP results, and reject Ingress objects without TLS using an OPA admission policy.
How to remove common latency and connection-error causes in an Nginx or Kong API gateway: file limits, upstream keepalive, backlog, port range, logging and TLS.
Why a Prometheus stack stalls under load, and how to fix it: federation, a lean node_exporter, recording rules, WAL-friendly storage and a locked-down firewall.
How an Nginx API gateway with rate limiting and upstream keepalive, plus an opossum circuit breaker, limits cascading failures between microservices (2022β¦
Run containers as non-root, with a read-only filesystem, dropped capabilities and a default-deny NetworkPolicy, so one compromised app has little to work with.
How to run a three-node NATS JetStream cluster (server 2.6, nats.go 1.13) with replicated streams, authentication, correct acks and sane OS limits.
How to measure request latency, CPU steal and disk trends on your own server with Nginx timing logs, Prometheus 2.28 and Grafana 8, without a third-party APM.
Replace trust-by-network-location with encrypted, authenticated links: WireGuard between nodes, nginx client certificates and hardened SSH with a second factor.
What the Schrems II ruling changed, why a region label is not compliance, and how LUKS, MariaDB encryption, TLS 1.3 and WireGuard reduce exposure in 2020.
Slow or timing-out Jenkins builds are often caused by iowait, swapping and a badly sized JVM heap. How to diagnose and tune each on a 2014-era Linux server.
How to keep a local HAProxy in step with a ZooKeeper service registry: ephemeral znodes, a watcher that regenerates the config, and a graceful reload.
When to use Memcached or Redis 2.8 for caching and PHP sessions on CentOS 6. Covers persistence, eviction, AOF fsync stalls, and a split-instance setup.
How to keep slow jobs out of the web request path with RabbitMQ, Celery 3.0 and Nginx 1.2 on Debian 7, with corrected configuration and the limits of the setup.
How to build reports from raw Apache or Nginx access logs with AWStats on CentOS 6: log format, config, cron, protected access, and limits.
A reference setup for Postfix on CentOS 6 (2012): fix mail rejected or sent to spam with matching DNS, restricted SMTP, TLS submission with SASL, SPF and DKIM.
Put HAProxy 1.4 in front of web nodes on CentOS 6, tune the kernel and use Keepalived VRRP so the balancer itself is no single point of failure.
How to tell when an OpenVZ container is being refused resources: read user_beancounters, interpret failcnt, and shrink MySQL and Apache to fit the limits.