Daniel's blog

Setting Up SimpleX As Your Private Messenger

Tired of ads and tracking on WhatsApp? I explore SimpleX, a privacy-focused messenger without user IDs or central logs, plus share how I set up my own SMP server behind Traefik for even more control.

Hardening Your Traefik with Security Headers

Learn how to configure robust security headers in Traefik v3 using dynamic configuration or Docker labels. Boost your app’s security posture and get that A+ rating with custom CSPs, strict transport rules, and smart defaults.

Sign your Git Commits

Protect your code and identity by signing your Git commits with SSH keys—no GPG required. In this post, I’ll show you how to configure Git to sign commits using SSH.

Global HTTPS Redirect using Traefik v3

A step-by-step guide to setting up a global HTTP to HTTPS redirect in Traefik v3. Learn how to configure entrypoints in your Traefik configuration for secure connections without relying on middleware.

Managing your dotfiles

Read how to efficiently manage and deploy your dotfiles across devices using GNU Stow, a powerful symlink manager.

Remove Member Duplications in GitLab

Manage GitLab member assignments more effectively with a Python script that removes duplicate direct member entries. Simplify your group-based authorization cleanup.

Working with Conventional Commits

Conventional Commits bring clarity and consistency to commit messages, automate changelog generation, and simplify versioning. Discover how to implement and enforce this in GitLab for better collaboration.

A rant about monitoring fatigue

Non-critical alerts are often ignored, leading to critical issues being overlooked. Explore how regular review meetings can help prevent incidents and improve alerting systems. Read on for actionable insights.

← Newer posts | All | Older posts →