Welcome to ScriptedVestige!

I'm an IT guy documenting my home lab which covers networking, infrastructure, automation, and everything in between. This is a living record of things I've built, broken, and fixed.



Have a question or want to get in touch? Reach me at contact@scriptedvestige.com!

Unplanned Outage Troubleshooting

Power & ISP Outages While at work, I received a notification at 14:35 local time from my power company that there was an outage in my area. I then received a notification at 15:50 that the power was back up. I also received notification from my ISP reporting an outage at 15:45 local due to the power outage, which is weird, but after I got home, I could see multiple occurrences of losing connectivity to my ISP in the UDM. ...

February 24, 2026 · 7 min · ScriptedVestige

Manual Event Logging

There is a lot of data that I want to collect that my sensors can’t. With automation and machine learning application being the goal, I want to gather as much data as I possibly can to really create a complete picture of events in the yard. Snow events are one example of that, so that’s where I started. I again used Python, FastAPI, and uvicorn to define some API endpoints on the same Pi that runs my Ecowitt ingest API. Just like the Ecowitt ingest, I’ll make this API a service also. The difference with this one though is that when the endpoint is requested in the browser, an HTML form is presented. ...

February 14, 2026 · 2 min · ScriptedVestige

Grafana

Grafana is a tool that allows you to build dashboards to visualize data. I haven’t gone too deep into the full capabilities yet, but I wanted a way to display the weather data from my database without reinventing the wheel and building dashboards manually myself. Install & Config Grafana is available as an app on TrueNAS SCALE, which is the OS that runs on my NAS. In the configuration, I’ll select “Publish port on the host for external access” for the Port Bind Mode in the network configuration so other hosts on my LAN can access the Grafana web UI with the default port 3000. Timescale and Portainer are using different ports, so I’ll have no conflicts between the three services and all can be accessed via their respective ports on the NAS IP (and hostname down the road when I get around to setting up Pi-hole). For the host IP, I’ll select ‘0.0.0.0’ (aka any) IP address because TrueNAS isn’t allowing me to select the host IP, but I’ve got traffic locked down pretty well with my VLAN and firewall rules setup. ...

February 7, 2026 · 5 min · ScriptedVestige

Weather Station Deployment

Today I’m going to set up my local weather station in my yard that will feed data to my database that stores the forecast data I’m pulling from NWS. NWS gives me projected future data, but I’m not able to see what’s happening in my yard, until now. Down the road, I’ll perform some analysis comparing forecast data to observed data which will be useful for future automation and machine learning. ...

January 31, 2026 · 5 min · ScriptedVestige

Portainer & TimescaleDB

I’m going to run TimescaleDB in Portainer to host my weather database for my yard and irrigation project. I decided to use Portainer just because it’s easier to use than the Docker CLI, in my opinion. Portainer is available as a native app within TrueNAS as well, so everything will be nice and smooth. TimescaleDB was my choice over vanilla PostgreSQL or other options because it’s great for time series data, which is what I’ll be dealing with in the weather data. It automatically creates chunks within what are called hypertables, which allows you to manage large quantities of data in a time series easily and offers features like continuous aggregates, which will be very useful for what I’ll be doing. ...

January 9, 2026 · 6 min · ScriptedVestige

TrueNAS Configuration

Now that the NAS is back online and has the new pool created, I’m going to dive into creating some datasets and users. In the future, I’ll create any users or groups before I create any dataset that is owned by said user or group as it’s a bit less clunky than doing what I did here. Dataset Creation I’ll start with creating a dataset for general use from endpoints like my laptop or desktop. Think PDFs, text documents, spreadsheets kind of stuff. I’ll navigate to the Datasets tab in the TrueNAS GUI, select my main pool, then select Add Dataset. This dataset will be called “docs”, I’ll select multiprotocol for the Dataset Preset and enable both SMB and NFS so it will work with both Windows and Linux. SMB name is “docs” to match the dataset name. I’m not going to set a quota (quotas would be useful for multi-user use or if I had more limited storage, but it’s just me and I have plenty of space), and I’ll leave encryption as inherited. I’ll leave the other advanced options as the default, most of them inherit from the parent pool so that’s fine by me for now and for this dataset. ...

January 9, 2026 · 4 min · ScriptedVestige

Daily Briefing

This project started with wanting a way to keep up with cybersecurity news. I started the project with a simple, hard-coded script that let me scrape the RSS feed of one news source. I got distracted with other things and came back to this project months later, but I didn’t forget about the project. While I was busy with other things, I had ideas to make this project better, and I’ve implemented those. ...

January 3, 2026 · 7 min · ScriptedVestige

TrueNAS Resurrection

I built a custom box to run TrueNAS a while ago but took it offline because I wasn’t really using it. Now, I’ve got a reason to bring it back online: hosting services for my yard and irrigation project. The original setup was rushed, so I wanted a plan to safely bring it back online on the new network backbone. This article mentions some IP mismatch issues, I cover that in my Network Backbone post. ...

January 2, 2026 · 5 min · ScriptedVestige

Network Backbone

To start my home lab journey, I decided to rebuild my network from scratch with some equipment that would allow me a bit more control than most consumer grade stuff. I thought that would be a good place to start as it supports a lot of the things I’ll be doing down the road. Hardware I went with all Ubiquiti gear for ease of use as far as pushing changes is concerned. I’ve got one control plane, and any changes are automatically applied to whatever device needs the changes applied. ...

January 1, 2026 · 5 min · ScriptedVestige