Protect your server with fail2ban and nginx I use nginx to redirect requests from my domain to a service that I self host. It works perfectly however I wanted a mechanism to keep bad actors away from my server and keep my security posture in tip top condition. fail2ban is a service that will ban IP addresses
homelab How to enable SSH on a Proxmox LXC (Linux Container) In a LXC, SSH by default is turned off and all traffic through port 22 is disabled by the firewall so these two properties need to be enabled to SSH into an LXC. First run the below command. This should tell you whether the SSH server is running. The result
homelab Setting Up Tailscale and Access Local Resources Recently I needed to access a resource locally on my network whilst I was away and I had no way to do this. Straight away, I knew what I needed to do. I have used Tailscale before so I knew this was the solution for me. Tailscale is a great
Featured Upgrading Ghost Blog from 5.x via Docker & adding Giscus comments This post will go through how to update your ghost blog to the latest minor version as well as a new mail setup and getting rid of Disqus in favour of Giscus. A few modifications were made to get this working. Firstly you need to clone the below repo which
homelab Setting up Nginx via Cloudflare on Debian to route to Emby Firstly we need the latest version of Nginx on Debian. Now the default list doesn't actually have the latest version of Nginx so you may find that some properties are not available. So to get the latest version we need to add a new source. You can do
homelab Proxmox - Reducing root disk size on an LXC In this post I go through how I resized the root disk on a Linux Container in Proxmox as it proved to be a challenge to find a way to shrink the size of the root disk. The Problem I had a LXC container which was hosting emby. In emby
homelab Flashing the Sonoff ZigBee 3.0 USB Dongle Flashing this device to the latest firmware is fairly straight forward. The reason I wanted to flash the device is because I want to use this as the ZigBee controller for my Phillips Hue lights and I want to control them via HomeAssistant and by flashing the device, it will
Azure Pipelines Code Coverage for .NET 7 using xUnit and Coverlet Unit tests are an extremely important part of software development. It ensures a reliable and robust engineering environment where quality is paramount. In my opinion the biggest advantage is that we dramatically reduce bugs in production. This is because if we make changes in one section of the codebase, this
Featured Upgrading to Ghost 5.x from 4.x using Docker and Azure App Service Ghost 5 was announced in May and just now, I have got around to upgrading. Ghost 5 brings lots of exciting changes which you can see here. Below is the process on how to uprade to Ghost 5 from Ghost 4. It's safe to say, this should not
How to delete your Office 365 Admin Account I have had an Office 365 account for a while that had services like Microsoft Teams and Azure however I no longer needed this. To delete the account you have to follow multiple steps. Use this link https://docs.microsoft.com/en-us/microsoft-365/commerce/close-your-account?view=
Spicing up your GitHub profile Whilst browsing through GitHub repositories, I noticed that some people had a fancy profile and I was really curious to how they got that to work. This post goes through how you can make your GitHub profile look that bit better and to top it off, it surprisingly easy. Firstly,
V2 - Deploying Ghost Blog to Azure Linux App Service using MySql, SendGrid, Azure Storage, CloudFlare CDN & Disqus A few months ago, I deployed my blog using Ghost however I came upon many issues when trying to host it on Azure by following other tutorials available on the web. Just to get up and running, I used the Ghost docker image and then just wired up my configuration
Configuring Swagger in .Net 6 with JWT and API Key Authentication I have been working on a project and wanted to document our APIs to make it easy to see what endpoints we have. Luckily there is a tool called Swagger/OpenAPI and this is a language-agnostic specification for describing REST APIs. It generates a JSON file which is then
Configuring your .NET Configuration using IOptions This blog post goes over a clean way to access your configuration variables in your .NET project instead of passing IConfiguration directly into services. The thing I don't like about passing IConfiguration directly into services is that all the app settings were available to the service even if
Intercepting exceptions and changing the response .NET 6 I have recently come across an issue where I wanted to return status codes by throwing an exception. So for example, if I throw a NotFoundException (this would be a custom exception) then I would want that to return a 404 error. As a result, I wanted to better handle
Azure Deploying Ghost Blog to Azure Linux App Service using MySql, SendGrid, Application insights Azure Storage and CloudFlare NOTE: I have made a new post with a much better and complete integration. Recently I have been looking to further my knowledge in the programming world. I mainly focus on the C# and .NET side. During my time learning the programming language I have come across many problems and