Reverse Proxy (with Apache)

I did a little write-up on how I achieved reverse proxy nirvana with IIS a while ago now. It made things a lot nicer for me. Like, a lot.

I have a few friends/colleagues/acquaintances who run Apache (I run IIS in my homelab environment, that’s the only reason I went with it), so I figured I’d look into how I can help them do the same thing (only a little different).

Continue reading

Permanent link to this article:

Moving files to subfolders

It’s not uncommon for me to have to tidy up directories full of files by moving them to their own subfolders, named for each file. It’s become common enough that I wrote a little Powershell function to do it repeatedly.

After saving the below script as a .psm1 file you’ll be able to open PS and import the file. I tend to save it to “C:\Scripts\MoveToSubfolders.psm1” – then I can open PS and run “Import-Module C:\Scripts\MoveToSubfolders.psm1”.

Once it’s been imported I can then use the function on whatever folder of files I need to tidy by simply running “MoveToSubfolders” and following the function with the folder I need to sort. It works well for making movies tidier.1`

function MoveToSubfolders([string]$Folder = ".\" ){
# Convert relative folder paths to full paths
$FullPath = Resolve-Path $Folder

# Generate list of all files in the specified directory.
$Files = Get-ChildItem -Path ((Get-Item -Path $FullPath -Verbose).FullName)

# For each object in the directory, do the following:
$Files | ForEach-Object {
    # Generate the variables 
    $FileName = $_.FullName
    $FileFolderName = $_.BaseName
    $DestinationFolder = "$FullPath\$FileFolderName"
    $MoveDestination = "$DestinationFolder\$($_.Name)"

    # Check if the destination directory exists
    if(!(Test-Path $DestinationFolder))
        # Create the directory using FileName (minus file extension) if it does not exist
        New-Item -Path $DestinationFolder -ItemType Directory
    # Move the file to the new directory
    Move-Item -ErrorAction SilentlyContinue $FileName $MoveDestination
# Actually allow this module to have functions used outside via import
Export-ModuleMember -Function *
Export-ModuleMember -Variable *

Permanent link to this article:

Media Portal

Not long ago I posted about configuring ‘Monitorr‘.
As an internal tool, it was surprisingly useful. However, I quickly decided it could be much more useful as a landing page for people who I’ve given access to my media.

It handles linking and monitoring of multiple services – some only I have access to, some others do.

To make all the services work nicely, I also set up a reverse proxy system using the BaseURL settings in the various systems I use (Radarr, Sonarr, Lidarr etc), and proxy rules in IIS. See more on that here.
Thanks to the proxy setup, no more ‘unresponsive’ messages – since it only has to check that it’s listening, authentication is separate. Yay!

Permanent link to this article:

Reverse Proxy (with IIS)

I run a lot of different pieces of software on my server. Sonarr, Radarr, Lidarr… just to name a few.
All of these different systems listen on different ports, and I got tired of having so many ports forwarded and so many different ports to remember.

Enter: Reverse Proxy.

Continue reading

Permanent link to this article:


I recently set up a little web app called Monitorr on my server. It sits in my webserver directories, and gives me a quick glance at what services are online and offline (of the ones I’ve told it to monitor).

It’s an Open-Source project, that I came across on Github. Setup was ridiculously easy.

You can find it here.

Continue reading

Permanent link to this article: