Buy Me a Coffee

Local HTTPS with Nginx in Minutes: A Practical Dev & Debug Setup (No Domain, No Public IP)

Setting up a local HTTPS environment is essential for developers wanting to test web applications under conditions that closely resemble production settings. This guide will help you establish a local Nginx reverse proxy using Docker Compose without the need for a domain or public IP, focusing specifically on Portainer as a sample application. Why You Want a Local Nginx Setup for Debugging When developing or debugging services like web dashboards or APIs, having an environment that closely mimics production is critical. A local Nginx reverse proxy enables you to: ...

Extracting Data from a Docker Volume Using a Third Container

[Docker] How to Safely Extract Data from a Docker Volume Using a Third Container

Introduction If you work with Docker long enough, you will eventually face this situation: You want to migrate data to a new server You want to back up a Docker volume before a risky change You are decommissioning a container but need to keep its data You need to inspect or recover files from a broken container You want to move data out of Docker into the host filesystem Docker volumes are intentionally abstracted away from the host. This is good for portability and safety, but it also means: ...

Traefik Docker Swarm Logout Issue Illustration

Refreshing Web Page Logs Out the User When Using Traefik in Docker Swarm

1. Introduction If you use Traefik as the reverse proxy in a Docker Swarm cluster, and your application is server-side rendered (SSR), you may encounter the following issue: You can log in successfully But when you refresh the page or navigate to another page, you are suddenly logged out The behavior feels random: sometimes it works, sometimes it doesn’t This issue usually does not appear: when running the app locally when using only one container before scaling the service in Docker Swarm Once you add multiple replicas, the problem starts to show up. This post will explore the reasons behind this behavior and how to effectively address it. ...

Setting up a Local Kubernetes Cluster for Home Lab

[Kubernetes/K3s] Setting Up a Local Multi-Node Kubernetes Cluster on Different Operating Systems

Setting up a Kubernetes cluster can seem like a mountain to climb, especially when you’re just starting out. However, having a local Kubernetes cluster is a fantastic way to get hands-on experience without worrying about cloud expenses. If you have a spare laptop sitting at home, this guide will help you turn it into a useful part of your Kubernetes home lab using k3s. Whether you’re using Linux, macOS, or Windows, this guide has got your back. ...

Configure Drone CI server and runner for Github repository

Setup DroneCI Server and Runner for Github Repository (Compose File Takeaway)

Introduction Self-hosting a CI/CD system is still a common requirement when you want more control over your build environment, runners, and infrastructure. In this post, I’ll walk through how I set up DroneCI to work with GitHub repositories, using Docker Compose. Rather than covering every click in detail, the focus is on the key steps that actually matter during setup and the small but critical details that are easy to miss. ...

Docker File Bind Mount Not Updating

Docker Bind Mount Not Updating? Why File Edits Fail but Directories Work

When you bind mount a file into a Docker container, you expect that updating the file on the host will immediately update the file inside the container. Yet many developers observe the opposite: the file content inside the container stays frozen at the old version. Interestingly, bind mounting a directory does not have this problem. The directory version updates correctly. This post explains why file bind mounts behave differently, why the issue occurs, and how Linux inode behavior is the root cause. ...

Traefik routing issue between frontend and backend containers

[Docker/Traefik] Resolving Intermittent Frontend Loading and 504 Errors Behind a Traefik Reverse Proxy (Update 2025-11)

We encountered a frustrating issue in our Dockerized app environment where the frontend service was intermittently failing to load, and backend API calls were stuck or returning 504 Gateway Timeout errors. Our infrastructure consists of: Frontend container (React app) Backend API container (Go server, accessible at /api/...) Database container (PostgreSQL) Traefik reverse proxy managing HTTPS termination and routing Despite having valid TLS certs and seemingly working routes, users experienced broken pages, incomplete frontend rendering, and stuck fetch requests to /api endpoints. ...

Running n8n in Docker for AI Workflow

[n8n/Ollama] How to Run n8n in Docker for AI Workflow with Local Ollama Service (Windows Example)

Let’s get started with setting up an AI workflow using n8n in Docker on a Windows machine, featuring local service integration with Ollama. Whether you are familiar with n8n or starting from scratch, this guide walks you through the steps needed. Understanding the Basics n8n is a versatile, self-hosted automation tool designed to connect and automate the use of over 400 services, now including AI components. When integrated with various large language models (LLMs) such as OpenAI’s chat models, Google’s Gemini Chat Model, or Ollama, it extends its capabilities significantly. ...

Docker garbage characters in API responses

[Docker] `docker exec` API Responses returns Garbage Characters

When using the Docker Engine API to execute commands inside a container, some users report seeing garbage characters or random symbols appearing in the API response. These characters do not appear when the same command is executed interactively in the terminal, and they often show up inconsistently. This behavior can be confusing, but it’s actually expected under certain conditions. 1. The Issue A developer may use the Docker Exec API to run commands in containers, such as: ...

Exit handler never called!

[GithubAction] 'npm error Exit handler never called!' in GitHub Actions

Introduction Have you encountered the “npm error Exit handler never called!” in your GitHub Action? It’s a frustrating issue that can halt your workflow execution unexpectedly. This post delves into understanding why this error occurs and how to effectively resolve it. error: ---> Running in 44d17f6484e3 npm error Exit handler never called! npm error This is an error with npm itself. Please report this error at: npm error <https://github.com/npm/cli/issues> npm error A complete log of this run can be found in: /root/.npm/_logs/2025-10-18T04_48_30_916Z-debug-0.log The command '/bin/sh -c npm ci' returned a non-zero code: 1 ...

DigitalOcean Referral Badge
Sign up to get $200, 60-day account credit !