Welcome to my blog.  Hopefully here you will find some interesting and detailed articles relating to Windows Home Server, Home Computing and General IT.

Creating a repeating end of month event in Google Calendar

Simply create an ICS file and import it into Google Calendar:

BEGIN:VCALENDAR  
VERSION:2.0  
BEGIN:VEVENT  
RRULE:FREQ=MONTHLY;INTERVAL=1;BYSETPOS=-1;BYDAY=SU,MO,TU,WE,TH,FR,SA  
SUMMARY:Timesheets  
DTSTART:20240930T110000Z  
DTEND:20240930T110000Z  
SEQUENCE:0  
DESCRIPTION:Timesheets and Invoices  
END:VEVENT  
END:VCALENDAR

Configuring Synology NAS to Access Another NUT Server for Power Management

If you’re using a Synology NAS in your home or business environment and you want it to access a Network UPS Tools (NUT) server for power management, there are some essential configuration steps to take. NUT is a popular tool used to manage and monitor uninterruptible power supplies (UPS), especially in networked environments where a single UPS is shared by multiple devices.

In this guide, we’ll walk you through configuring your NUT server to allow access from your Synology NAS.

[Read More]

Pushing config to an Ubuntu 24.04 LTS Machine in Azure Using Terraform

Managing infrastructure as code is a crucial practice in modern IT operations, and Terraform is a powerful tool to achieve this. In this blog post, we will walk through the process of pushing user data cloud config to an Ubuntu 24.04 LTS machine in Azure using Terraform. We’ll highlight the key components of the Terraform code and explain the templating mechanism used to inject user data.

Setting Up the Virtual Machine

We start by defining our Azure virtual machine using the azurerm_linux_virtual_machine resource. This resource is configured to deploy an Ubuntu 24.04 LTS machine.

[Read More]

Kubernetes is not the only choice

Standalone Container Runtimes

Virtual Machine (VM)

Virtual Machines offer the greatest flexibility for running Docker containers, with many combinations of CPU and RAM configurations available. Both Windows and Linux VMs can host Docker, but VMs require significant maintenance and configuration. They are best suited for Dev/Test workloads due to their operational overhead.

Azure Container Instance (ACI)

Azure Container Instances provide a serverless container runtime where you simply provide the container and Azure runs it. ACI can handle both single and multiple instances, charging based on the number of vCPUs and GBs of memory used per second. This option is ideal for unpredictable burst workloads but can be challenging for cost prediction. ACI can also be integrated with Azure Kubernetes Service for hybrid workloads.

[Read More]

Making a Dell T630 quiet

By default the fans run at relatively high speed in comparison to desktop systems. If you are running one of these servers in an office environment then you may want it to run a little quieter. What follows are the impitool command to bring the Dell T630 (should work on other Dell Servers) fans down to 20%:

ipmitool -I lanplus -H 192.168.0.152 -U root -P calvin raw 0x30 0xce 0x00 0x16 0x05 0x00 0x00 0x00 0x05 0x00 0x01 0x00 0x00  
ipmitool -I lanplus -H 192.168.0.152 -U root -P calvin raw 0x30 0x30 0x01 0x00  
ipmitool -I lanplus -H 192.168.0.152 -U root -P calvin raw 0x30 0x30 0x02 0xff 0x14

Benchmarking development systems

I quite like performant systems - lots of CPU, memory and storage. When I want to compare overall performance between systems then I usually run a build of the raspberrypi4_64 image when using buildroot

Today I am comparing three systems. One is an AMD 5950X with 128GB RAM and 2TB Samsung 980 Pro, the next an older Corsair One with an Intel i7-8700K, 32GB RAM and a 512GB PCIe v3.0 NVMe and finally an Azure VM, Standard D2s v3 (2 vcpus, 8 GiB memory) with 64GB of Standard SSD.

[Read More]

Automatically updating SSL certificate on a HP M283fdw

I use Home Assistant to generate a wildcard certificate for my lab using the Hurricane Electric DNS challenge. This puts the fullchain certificate and private key file into the /ssl path of Home Assistant. You have to make sure you are using the supported RSA type by the printer. I then have a cron job which pulls these files and creates a PFX file suitable for the printer:

scp root@ha:/ssl/*.pem .  
openssl pkcs12 -export -out wildcard.cert.pfx -inkey privkey.pem -in fullchain.pem

Make sure you set a password. The next step is then to upload the certificate to your printer. In my cases it is a HP M283fdw.

[Read More]

Access Keys in AWS IAM

By default AWS have made changes in that Access Keys and Secrets are not automatically created when you add a new user in IAM. However, it is quite simple to get these keys for CLI or automated access:
Goto IAM -> Users -> (User Name) -> Security Credentials -> Create Access Key -> CLI -> Click the checkbox -> Next -> Create Access Key

Getting Jenkins to log on Ubuntu/Debian

If you install Jenkins natively on Ubuntu or Debian you may find that logging is not working. Logs should be saved to /var/log/jenkins/jenkins.log
Steps to get it working. Edit the service:

sudo vi /etc/systemd/system/multi-user.target.wants/jenkins.service

And uncomment this line (remove the #):

Environment="JENKINS_LOG=%L/jenkins/jenkins.log"

Then reload systemd:

sudo systemctl daemon-reload

Then restart Jenkins:

sudo service jenkins restart

Then you can view the logs:

tail -F /var/log/jenkins/jenkins.log