/images/avatar.png

Georgios Anestopoulos

Systems Engineer - Devops Practitioner

ganesto.com

Postfix Relay Docker

Postfix Gmail Relay Docker Setup This repository contains a Dockerized Postfix service setup configured as a Gmail SMTP relay. The container runs Postfix with SASL authentication to send emails through Gmail’s SMTP server. Features Relays emails through Gmail’s SMTP server (smtp.gmail.com). Supports authentication via Gmail’s SMTP with SASL credentials. Customizable via environment variables (hostname, networks, etc.). Secure connection using TLS. Automatic configuration of Postfix with Docker. Requirements ⚠️ Important: This solution only works with Gmail Workspace accounts that have SMTP relay configured.

Solving VPN Network Access Issues in WSL2 Ubuntu on Windows 11

I recently had to dive into the Windows 11 world with a fancy laptop and run WSL2 (Ubuntu). All was good until I hit a wall – no network access when my AnyConnect VPN kicked in (Windows Host). And it wasn’t just a run-of-the-mill DNS problem; I couldn’t even reach my router! Googling around I found a bunch of posts about similar issues, but most were about DNS. I tried tweaking interface metrics priorities through scripts, and sometimes it worked, sometimes not – definitely not ideal to run a script every time I connect to the VPN.

Building Custom Docker Image with GitLab CI and Kaniko in kubernetes

In my CI/CD pipelines at home, I often use ready-made Docker images and add extra steps to install the necessary packages. However, this time I decided to create a master build image, incorporating essential packages and the Hugo binary for my Hugo build and deploy pipelines. Current Setup GitLab CE (self-hosted) Kubernetes cluster with a GitLab Runner (tag: k8s-new) Remote web server using lftp to update my Hugo HTML website In my GitLab instance, I organize my Docker images in a group named docker_images.

fail2ban jail list & unban IP script

Fail2Ban IP Unban Script with menu IP jail selection This is a Bash script that allows you to easily unban IP addresses from Fail2Ban jails using a user-friendly interface powered by whiptail. It gathers a list of currently banned IP addresses across all active jails and presents them in a scrollable menu, making it easy to select and unban IPs from specific jails. Features Retrieves a list of all active Fail2Ban jails.

My personal top 5 Must-Have Kubernetes Tools: k9s, kubectx, kubens, kube-ps1, popeye

My favourite kubernetes tools I use every day: k9s: K9s is a terminal based UI to interact with your Kubernetes clusters. The aim of this project is to make it easier to navigate, observe and manage your deployed applications in the wild. K9s continually watches Kubernetes for changes and offers subsequent commands to interact with your observed resources. K9s is available on Linux, macOS and Windows platforms. MacOs 1 2 3 4 # Via Homebrew brew install derailed/k9s/k9s # Via MacPort sudo port install k9s Linux 1 2 3 4 # Via LinuxBrew brew install derailed/k9s/k9s # Via PacMan pacman -S k9s Windows 1 2 3 4 # Via scoop scoop install k9s # Via chocolatey choco install k9s Via a GO install 1 2 # NOTE: The dev version will be in effect!

Automate Hugo Deployment with Gitlab CI/CD

Summary: Having my personal gitlab instance I decided to automate hugo deployment process using gitlabci and each time a new commit is merged to master branch, the site will rebuild using ‘hugo’ command and will be deployed to my server (webhosting provider in my case) using lftp. In my example ‘gitlab-ci.yaml’ configuration there are 2 stages (test-only & Deploy-Pages) If I’m pushing to a working branch will trigger the pipeline on each commit and will run only the test stage.

Joplin, my favourite note taking app, my custom dark theme

Joplin is my favourite note taking app, Im using it with encryption enabled and sync them using WebDav in my Synology NAS to all my computers. I prefer the dark note style and I spent lot of time to find a dark theme for my taste but unfortunately I was not satisfied with the themes I found, so created my own based on multiple themes I found in Github and I created my own favourite.

Argocd ApplicationSet helm subcharts example

In this post I will share how do I add and deploy upstream helm charts using ArgoCD ApplicationSet in my personal kubernetes server and how do I use ApplicationSet generators to automatically create ArgoCD Applications using the flexibility of the ApplicationSet controller. Prerequisites used in this example: git repository Kubernetes and ArgoCD allready installed. (At the time of writing: kubernetes v1.24.1, ArgoCD v2.5.0) ArgoCD deployed in “argocd” namespace I use the Git Directory Generator approach:

Mikrotik: ip cloud ddns (auto update)

I’m using Mikrotik products & routers for years, one of the features I like is the ip cloud Dynamic DNS. This enables you to access to your router from anywhere on the internet, without the need for signing up to 3rd party Dynamic DNS Services. This is handy if you need access to: Access security cameras behind your network Manage your router or router’s behind it Access a local server