Traefik Ingress Integration with SSO

There is an easy way to use base-auth for “securing” ingress access in Traefik, but, well - it’s base auth. It’s not that secure nor easy / nice to use in browsers, especially on mobile devices. So for long time, I was thinking how to integrate Traefik Ingress with an SSO (Single Sign-On) solution. Prerequisites You will need some kind of SSO provider. I’m using Forgejo (a fork of Gitea). I didn’t need anything fancy, and I already had Gitea working, which had the OAuth2 provider out of the box....

June 30, 2023 · 4 min · 833 words · Mariusz "mariom" Kozakowski

Serverless Framework: A New Experience and a Few Limitations

I recently worked on a small project using the Serverless Framework. As someone more experienced with terraform, I found it to be a new, interesting experience. It’s worth noting that Serverless uses CloudFormation underneath for AWS. After few weeks, I can share a bit of my personal thoughts about the framework. Firstly, the Serverless Framework is not a bad piece of software. It can deploy an API Gateway with a bunch of lambda functions in a moment....

April 7, 2023 · 2 min · 349 words · Mariusz "mariom" Kozakowski

K3s quickstart

In my previous post, I shared my my experiences with k3s. Today I will show how easy it is to set up and host a simple static web page. Prerequisites You will need a server (or your computer) and a DNS domain name. For my playground, I used OVH Public Cloud instance - D2-2 with Debian 11, and * domain name. Install k3s Installing k3s is very simple. Just execute curl -sfL https://get....

March 31, 2023 · 3 min · 524 words · Mariusz "mariom" Kozakowski

My experience with K3s for personal projects

In my professional life I use terraform, kubernetes, various cloud providers… Why did I choose k8s as a solution for my self-hosted server overhaul? Was it a good idea? Reasoning As a DevOps professional, I always strive to learn new things. However, in projects, there isn’t always space to experiment with new concepts. Small changes can break many things, and some chosen architectures are already deeply integrated with other components. When I go with smaller scale and personal server I still have a lot of things that I cant test and learn from....

March 24, 2023 · 2 min · 398 words · Mariusz "mariom" Kozakowski

Restic backups with autorestic help

Since few weeks I use restic as my backup tool. I made the switch from rdiff-backup due to its slow speed and frequent erorrs. Advantages of restic is its support for different backends (ssh, s3, rest server, etc), encryption and deduplication. To simplify my entire backup process, I choose to use the autorestic. With this tool you can configure restic using a YAML file, which is a lot easier than having to remember all the CLI options each time....

March 17, 2023 · 2 min · 224 words · Mariusz "mariom" Kozakowski


After deploying k3s on one of my servers (which I will post about later) I searched for a solution to manage the components deployed on it. My first thought was to use terraform, but it has several drawbacks when it comes to k8s and helm support. Additionally it needs managing unnecessary state files managing even for that simple task. While it may be worth sticking to one tool if everything is in it, this was not the case for me this time....

March 10, 2023 · 2 min · 249 words · Mariusz "mariom" Kozakowski

Woodpecker CI

For years I’ve been using my private git server. I started with Gogs, then moved to Gitea, and soon I’m updating to Forgejo. Initially, I only used it to store some non-public repositories (as private repos on GitHub were not free back then). However, for quite some time now, I’ve been using it to store the configuration of my personal servers. As a result, I needed a CI/CD system, and that’s where Woodpecker comes in....

March 3, 2023 · 2 min · 256 words · Mariusz "mariom" Kozakowski


Have you ever wondered how to keep up with the latest releases of all the dependencies you use? Do you hate it when you forget and then have to fix a lot of code because there have been multiple releases in the meantime? Well, I do. And that’s where Renovate can help. All you need to do is install Renovate, configure a bot user for your Git server, pass the credentials to the Renovate configuration, and set up a cron job for it....

February 24, 2023 · 1 min · 190 words · Mariusz "mariom" Kozakowski


Hello, it’s me again. This will be my third or fourth attempt at writing blog posts. I’m hoping that this time my efforts will be more successful and last longer. The main topics I plan to cover are in the areas of DevOps and the Cloud. Additionally, I plan to make an effort to write in English this time. 1 2 3 #!/usr/bin/env python3 if __name__ == '__main__': print("Hello world!")

February 8, 2023 · 1 min · 70 words · Mariusz "mariom" Kozakowski