Installing Debian Trixie in WSL Using Docker
Windows Subsystem for Linux (WSL) provides an excellent way to run Linux distributions on Windows, but it has a limitation: you can only install one instance of each distribution from the Microsoft Store. If you’re already running a WSL …
devops linux sysadmin wslSigning git commits with SSH keys
Git commit signing is a great way to prove the authenticity of your commits. While GPG has long been the standard, SSH signing is a newer and simpler alternative that uses the SSH keys you may already use for authentication. In this guide, we’ll walk …
devops git sshAutomating Tasks with systemd timers
Automating Tasks with systemd timers Automating repetitive tasks is a key part of system administration, and traditionally, cron has been the go-to tool for this purpose. However, systemd timers offer a more powerful and flexible alternative. In this …
devops mongodbSetting Up ed25519 SSH Keys and ssh-agent in WSL and Linux
Secure Shell (SSH) is a fundamental tool for developers, system administrators, and anyone requiring secure remote access to servers and systems. SSH keys provide a more secure method of authentication than traditional passwords by using a …
devops mongodb linux sysadminHow to Migrate Data from One MongoDB Database to Another
When working with MongoDB, there are times when you need to migrate data from one database to another. This could be for backup purposes, testing, or moving a production database to a new environment. In this post, I’ll guide you through the …
devops mongodbUsing journalctl
journalctl is a powerful command-line utility for querying and displaying messages from the journal, managed by systemd-journald. It is commonly used on Linux systems to retrieve and analyze log data. This guide aims to provide instructions on using …
devopsUsing git reset
The git reset command in Git allows you to undo commits and manipulate the state of your repository. It can be a tricky and potentially dangerous tool if used incorrectly, but it’s very useful for backing out changes, correcting mistakes, and …
sysadmin devops linux git programmingSetting up an encrypted disk image on Debian 12 with Cryptsetup
Encrypted disk images allow you to securely store sensitive files on your Linux system. The contents of the image can only be accessed by providing the correct passphrase. In this post, we’ll walk through creating an encrypted image using the …
debian sysadmin devopsRunning Traefik in Docker
Traefik is a popular open source edge router and reverse proxy that makes deploying microservices easy. It integrates with Docker and automatically configures SSL certificates via Let’s Encrypt. In this post, we’ll be installing and …
traefik docker sysadmin devopsInstalling Docker on Debian 11
This should work as-is with Debian 12. Prerequisites Debian 11 (Bullseye) One of the following architectures; x86_64 amd64 armhf arm64 Remove any previously installed versions of Docker sudo apt-get remove docker docker-engine docker.io containerd …
debian docker sysadmin devops linuxSecuring SSH with ssh keys
In this article I’m going to describe how to secure a SSH server, so that it will only accept logins with ssh keys. Generate a set of personal ssh keys If you have already done this, you can skip this step. $ ssh-keygen The output should look …
sysadmin devops linux sshUsing Python requests
The Python requests module is an elegant and simple HTTP library for making requests in Python. Requests allows you to send HTTP requests extremely easily. No need to manually add query strings to URLs, or form-encode your POST data. Keep-alive and …
python programming devopsUsing Python logging
The logging module in Python provides a standardized way to record diagnostic and runtime information from your programs. The key benefits of logging are the ability to: Log messages with different verbosity levels (debug, info, warning, error) …
devops python programmingUsing Linux nftables
nftables is the new packet filtering framework built into the Linux kernel that replaces the older iptables technology. This tutorial will cover the basics of using nftables to configure a simple firewall on a Linux system. Installing nftables Most …
debian sysadmin devops linuxUsing Python argparse
Python 3.11 introduced a new and improved argument parser in the argparse module. The new argument parser provides several handy features that make it easier to parse command line arguments in Python scripts. In this post, we’ll take a look at …
python programming devopsGetting started with Git
Git is a distributed version control system that allows teams to collaborate on code and track changes efficiently. Whether you’re a solo developer or working on a large team, learning Git is essential for managing your projects. This post will …
sysadmin devops linux programming git