My Services

I have a bunch of services accessible to me, my friends and family. I'll go through some of them here.

Gramps Web

I exported my families ancestry data into Gramps Web for privacy reasons, and it ended up being way better than whatever we were using lol.

Mealie

Mealie is a great platform for everything digital about cooking. Recipes, shopping lists, meal planners, it's got it all.

Immich and OpenCloud

Immich is a sort of self-hostable Google Photos. They just released their first stable version (October 2025), and the move from Google Photos has been smooth sailing.

Similarly, OpenCloud is a self-hostable Google Drive, which integrates well with self-hostable projects Collabora and OnlyOffice.

Memos

Memos is a cute and convenient journal / diary server. That's about it lol.

FreshRSS

FreshRSS is an RSS client as a server. It keeps your RSS feeds synced across all your devices, and makes them available on the web! I find it's a great replacement for social media. RSS is really cool btw, check it out :).

Donetick

Donetick is a todo-list sort of thing. It stands out for two main aspects:
1. Delicious WebUI and shortcuts
2. Ticketing-system like setup.

Foundry VTT

Foundry is a self-hostable virtual tabletop used by geeks to play DnD type games online. Once you get set up, it's a BIG upgrade over Roll20, a competitor with ads and limited features.

Technical Services

Outline

Outline is a self hostable knowledge base, and before you glance away, it's not as boring as it sounds! You can use it for yourself, but you can also give your technologically helpless friends and family access!

PocketID

PocketID is an SSO, like Authentik on Authelia, but it only supports passkey authentication. I really love it because I've seen first-hand just how awful my family members' password storage methods are. Not on my server lmao.

Cloudflared

Cloudflared tunnels are creepily useful tools for self-hosting public facing web servers when you can't port forward! There's also other benefits, but this is the only one that keeps me using them. There's also a huge downside...

Tailscale

Tailscale is to VPNs what Cloudflared tunnels are to web servers. It uses NAT traversal to create what are essentially P2P VPNs, so you don't need to mess with port forwarding!

ntfy

ntfy is handy for sending notifications from your server. It works great and fully supports iOS push notifications!

Gramps Web

Gramps Web is a self hostable ancestry archiving server. It's like ancestry.com but hosted by you so you know where all your data is. I'm using this to build up my family tree because I know I'll probably care about this stuff one day lol.

Here's the link to the demo, the username and password are both "owner." If you're already using another ancestry site to do these things, you should know that it's not as hard as you'd think to transfer your data into Gramps Web.

Here's the official docker-compose.yml file.

Update: a few weeks ago (around November 2025) they finally added OIDC (SSO) support to the main branch, and they added DARK MODE!!

Mealie

Mealie is great for all the normal functions, but the best one imo is the import function that imports recipes from online recipes you find. If you find a random recipe on the internet, you can put the url in mealie and it'll import it in a single click :D.

You should definitely set this up if you're tired of cookbooks or if you're in a shared living environment where you buy groceries together but don't have a shared notes app (it has a shopping list feature).

Immich

Immich is amazing, and it doesn't even take that much setup! It looks just like Google Photos so nobody's out of their depth, and there's even this beautiful tool called google-photos-exit that'll fix the broken photos Google gives you when you prepare to make the switch!

OpenCloud

OpenCloud pretty cool. I use Samba for my file management, but I like these guys as a pair so OpenCloud will stay on my server for vanity's sake.

It is really great though, better than it's competitors (NextCloud, OwnCloud, etc.) in my opinion.

Memos

Memos is a cute little journal / diary server. If you're like me, you unfortunately don't have the patience for the inefficiency of hand-written journaling. That's where Memos comes in. Unfortunately, the only compatible iOS client doesn't support the latest API, so you need to use a boilerplate server to convert the new API to the old one. Otherwise, Memos works great!

Another great thing about Memos is the filtering and tagging, which can help you keep track of whatever you want.

FreshRSS

FreshRSS, as I said, is an RSS client as a server, but it's also so much more! I haven't explored too deeply, but it can scrape websites that don't support RSS!

If that's not enough, it takes the load off your phone, which doesn't sound like much, but think about it. Once you get >=100 feeds, your phone would be querying >= 100 rss feeds every 10 minutes or so depending on your settings. Whereas when it's your server doing it there's no need to worry, as your phone's just querying one website (the server).

What's RSS?

You know how on some blog-ish websites there's a button saying "enter your email to subscribe to our newsletter!", well RSS is what those websites use when they don't want to integrate email servers. RSS is also wonderful for the consumer because we don't give out our personal info, and we still get notifications of new blog entries and whatever else.

By the way, it's not just for blogs! Recipe sites, news sites, comic sites (XKCD), and lots more use RSS too! No matter who you are, RSS can probably help you out in some way. Personally, I've used it to shirk my social media addiction. Now, instead of constantly scrolling Reddit, I'm constantly scrolling my RSS feeds. It's not as good as doing useful things with my time, but I'm getting there!

If you're interested, check out blogroll.org for a great big list of blogs about all sorts of things.

Pro Tip: You can subscribe to substacks by adding "/feed" onto their base url.

Donetick

Doneticke is a todo-list that stood out to me because of it's UI. When I got it running though, I noticed the handy shortcuts it has, which made my workflow a little more efficient over Vikunja.

Other than that, it's just a todo-list. Do with that what you will lol.

I'd imagine it'd be really useful for parents now that I think of it. Simple enough UI with enough mobile support for it to be kid friendly, ah it's literally on their website as an intended use case: chores lol.

Foundry Virtual Tabletop

Foundry is my favorite virtual tabletop, even if I wasn't considering the fact that you can self-host it. The alternative for me was roll20.net, and the difference between the two is like night and day.

Not only are there way more cool features in Foundry, but there's also many open source mods you can use to enhance your gameplay. In my opinion, it is well worth it to buy and host Foundry if you're into that sort of thing lol.

Outline

Outline is perfect for keeping your thoughts together and recording the nitty gritty details of the processes you repeat frequently enough to warrant it but infrequently enough that you're always forgetting them.

It's also super helpful for when you're helping your friends and family with tech support. Everyone knows some people are just hopeless with this stuff, but it's good to be able to direct people to resources you've made when you're too busy.

Outline

PocketID is a popular new OIDC provider, and I love everything about it except for how new and untested it is 😅.

It's super easy to use once you get the hang of it, and it makes user management incredibly easy in the ways I'm sure all SSOs do. They even have an ever-growing webpage of integration methods for various projects.

Cloudflared

Cloudflared tunnels are convenient ways of exposing HTTP services running on your machine to the public internet without forwarding ports. I use them to expose literally everything I have running except for game servers which don't use HTTP traffic. They use Playit tunnels instead, check that out too!

You can run it as a systemd service or in a docker container. Here's the official setup page.

ONE CREEPY NOTE: they terminate TLS as the traffic passes through their servers to do all their protective things. Ew.

Playit Tunnel

A Playit tunnel is very similar to a Cloudflared Tunnel, only it's used for game data, so it works with UDP and non-HTTP traffic.

Tailscale

Tailscale, specifically the server portion (which isn't Open Sourced), is used to initiate P2P VPN connections between your hosts.

There's a great alternative whose server is fully open sourced, it's called NetBird. I've been meaning to migrate from Tailscale to NetBird for a while now, but there's always something more interesting to do lol.

ntfy

ntfy is incredibly useful because it lets you send notifications to your devices. Normally this wouldn't be all that special, but that's not the only cool part. It also lets you send push notifications to Apple devices :D. Along with the fact that it's relatively simple to set up, I really love this project.

One problem I had with NTFY is that for an embarrassing amount of time I couldn't find the correct AUR to install it. There are a couple different ones, ntfy, ntfy-git, ntfy-alertmanager, ntfysh, and ntfsh-bin. The correct one turned out to be ntfysh-bin lol.

Thankfully, the Docker container is super easy to find and set up, so don't even worry about that.

Pi-hole

Pi-hole is a DNS caching service and proxy / DNS firewall thing. It get's all the DNS queries from the devices on your network, and allows / blocks / redirects them based on your settings.

For example, the default blocklist will block things like your Amazon Firestick sending telemetry to whatever random Amazon domain. It also blocks a lot of ads if you want, specifically the ones that are loaded from known ad domains.

About Me

I'm a 2nd year Cybersecurity Engineering Major at Iowa State University.

I'm currently working as a Systems Support Technician on campus, and (obviously) I love hosting services for my friends and family!

Here's my Mastodon!

Production Servers

Yes I've named them, sue me!

Technical Overview

Potential Employers look here!

Veldor

Veldor is my current production server.

Luckie

Luckie was my first production server. No picture tho, coming soon.

Steeve

Steeve was never a production server, but he was so cool you should look at him anyways.

Technical Overview

Right now I'm running Proxmox, with separate production and testing VMs.

Over the years though I've hosted services on a large variety of hardware and software, including Jailbroken Chromebooks, android phones, old computers, and a rack server.

I've used Arch, Fedora, and Debian. I've run services with Tmux, Systemd, Docker containers, and more recently LXCs and VMs.

Veldor

Picture of a Dell Precision Tower 3420 SFF sitting sexily on the bottom rack of a tempered glass TV stand.

Veldor is a monster compared to what I was using before. I got it for $40 at ISU Surplus at the end of my Freshman year. 😌

It's currently running on the bottom of our TV stand, because that's where the router is. It actually looks pretty cool tbh.

Model: Dell Precision Tower SFF
CPU: Intel(R) Xeon(R) CPU E3-1240 v5 @ 3.50GHz (8 cores)
RAM: 32GB DDR4
GPU: None 😱🤯

Luckie

I can't find any pictures of Luckie right now, but it was my first ever real "production server".

Before Luckie, I was just messing around by myself, now I host Gramps, Mealie, Audiobookshelf, and Samba for actual users (family and friends lol).

Model: HP EliteDesk 800 G1 SFF
CPU: Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz (8 cores)
RAM: 12GB DDR3

Steeve

Picture of an HP DL380 Gen 7 Server

This is Steeve, the HP DL380 G7 server I got off Facebook Marketplace for $10 in my freshman year of college. I picked it up with my roommate Craig.

Steeve had an old Intel Xeon CPU, 32GB DDR3, and a really big server graphics card I never cared about.

Steeve was super loud even when idle, functioning well as a space heater + white noise machine after the many midnight fire alarms at Friley (Iowa State dorm).

I had to give up Steeve when moving out of Friley, since there was no chance in hell I was going to move him anywhere (he was chonky). He'll be remembered fondly.

Elements

Text

This is bold and this is strong. This is italic and this is emphasized. This is superscript text and this is subscript text. This is underlined and this is code: for (;;) { ... }. Finally, this is a link.


Heading Level 2

Heading Level 3

Heading Level 4

Heading Level 5
Heading Level 6

Blockquote

Fringilla nisl. Donec accumsan interdum nisi, quis tincidunt felis sagittis eget tempus euismod. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing accumsan faucibus. Vestibulum ante ipsum primis in faucibus lorem ipsum dolor sit amet nullam adipiscing eu felis.

Preformatted

i = 0;

while (!deck.isInOrder()) {
    print 'Iteration ' + i;
    deck.shuffle();
    i++;
}

print 'It took ' + i + ' iterations to sort the deck.';

Lists

Unordered

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Alternate

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Ordered

  1. Dolor pulvinar etiam.
  2. Etiam vel felis viverra.
  3. Felis enim feugiat.
  4. Dolor pulvinar etiam.
  5. Etiam vel felis lorem.
  6. Felis enim et feugiat.

Icons

Actions

Table

Default

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Alternate

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Buttons

  • Disabled
  • Disabled

Form