Welcome to my tech blog

This blog will be primairily be used as a quick reference guide for myself (and other nerds). I will be posting mainly about OpenSource / Linux / DevOps but also the occasional self-build server / gamepc or networking (unifi) stuff.

This website is powered by GitLab Pages / Hugo and can be built in under 1 minute.

Howto Enable Ssh Key Forwarding in Ssh and Vscode via Zsh on Mac.md

So you can finally only use the key from your local laptop

Introduction I recently got a new Macbook Air M1 and at my new customer i wanted to git pull certain repo’s at a remote server. This didnt really work. So i figured it all out. Underneath you can find all settings for your ssh config, ssh-agent. Add the correct parameter to your ssh config Edit your ssh config via vim ~/.ssh/config and add the following (change your remote server accordingly) [Read More]

Setting up OBS for Twitch ( and / or YouTube ) with Nginx rtmp relay

Everything you need to relay your stream from OBS via nginx to the interwebz

Prerequisites Have a linux vm with nginx installed Have knowledge on the following topics: linux commandline nginx rtmp streaming You should have at least one twitch channel and your key ready P.s. i know you can directly stream from your pc to twitch. But this is a technical in-depth guide. So i took the hard way. Introduction I’m a gamer, although the last couple of years i only played World of Warcraft and some Forza Horizon 4. [Read More]

Blockchain Ads on your hugo blog, powered by Ambire

Make a buck, without google adsense

Prerequisites Have a running gitlab page (with hugo) have an understanding of opensource, blockchain and adds Introduction Let’s be fair. I like blogging and sharingknowledge. Such is the way opensource philosophy. But alot of time and effort goes into it. So I might aswell earn a little bit on the side for my troubles. Yesterday I was looking in my bitvavo app for crypto. And noticed that adex network had gained 90% in value in one day. [Read More]

Creating a Template for New Posts

Because a DevOps guy needs to automate stuff

Prerequisites have a blog with hugo Introduction So I spent a good couple of hours fighting with hugo and regex, because I didn’t like the fact that I had to manually enter the date each time in new posts. Furthermore I discovered that by only stating the date: year-month-day in the header. It can occur when uploading multiple posts on the same day, chronologically the listing becomes incorrect. So to save ( hopefully at least millions of people ;) ) some time. [Read More]

Deploy Nginx Vhosts With Salt

one vhost is never enough

Prerequisites: Have a nginx reverse proxy (which is managed by salt) Have at least 2 websites / apps you want to reverse proxy serve Introduction Oke, this blogging is kinda cool. So here’s one more just before the weekend. In my personal evironment I have some VM’s, hypervisor, NAS en k8s deployments which i want to be reachable. I used to do this manually in apache with 301 redirects. But that was in an age when Ben Hur was still alive and kicking. [Read More]

Howto configure loadbalancing with upstream in nginx

May your k3s/k8s nodes never fail, but if they will, never fear upstream is here

Prerequisites: Have a nginx vm, container or pod / deployment Have at least 2 servers for backend purposes Introduction As I like to toy around with salt I decided to leave my nginx vm intact rather than migrate it to a k8s deployment. However when I added an extra node to my k3s cluster, it made me realize I should have som form of loadbalancing in the event that one of the nodes goes down. [Read More]

Encrypting private pillar data on your salt master

And thus you can push your code to git without exposing your secrets

Prerequisites: Have a salt master and a salt minion configured Have data which you want gpg encrypted Introduction I presume that anyone reading this blog is aware that it is not done to paste plaintext passwords in code (commited to git) (albeit a prive repo or not). Therefore since the release of salt 2016.3.0 it is possible to encrypt sensitive data with gpg keys. Short introduction to gpg: Pretty Good Privacy (PGP) is an encryption program that provides cryptographic privacy and authentication for data communication. [Read More]

How to configure scheduling from the salt pillar data

Without crashing the minion

Prerequisites: Have a salt master and a salt minion configured Introduction Automated updates of your VM’s are a blessing. You can schedule them from your salt master from within the pillar data Create a schedule in pillar Create a dir and file mkdir /srv/pillar/schedule touch /srv/pillar/schedule/update.sls Place the following file in update.sls: schedule: update: maxrunning: 1 run_on_start: False function: state.apply args: - 'base.updates' when: - Wednesday 13:30 Add the following to your top. [Read More]

How to configure your DNS records, your own custom domain and cloudflare for your gitlab page

With love from transip.nl and cloudflare.com

Prerequisites: Set up a gitlab page Have a cloudflare account Have your domain registered at a registrar or at cloudflare Introduction In a previous blog i explained howto setup gitlab page. However it is possible to use a custom domainname. And since i’m a nerd, i wanted to configure that aswell. Register your domain Register you domain name at a registrar like transip.nl or clouddlfare.com I used transip.nl myself [Read More]

How to setup your own gitlab page

Deployed with CI/CD and Hugo

Prerequisites: Have a gitlab account Have a good reasonable understanding of git (cloning, commiting and merging) Introduction I used to have a wordpress blog, in which i placed all posts manually. As i work alot from git, i went to look for a more automated solution. Gitlab page (forking a project) This gitlab page will be forked from hugo. View the sample projects by navigating to the GitLab Pages examples group. [Read More]