Category: devops

  • Beginning Node App Security

    Since I’m using Tailscale to painlessly manage all my networking on the homeserver here and my remotes, I’ve had the luxury of being a bit casual about the security of my internal apps and self hosted dev tools. I’m currently iterating on a web app that requires public access, and is therefore up on a…

  • Fly.io, Uptime Kuma & scraping a status page

    I’ve been aware since I set up Uptime Kuma for my monitoring, that having an instance on my local network monitoring my VPS websites wasn’t ideal. The main reason being that the flakiest part of my infrastructure is my 4G home internet, so if that goes down I have no website monitoring, and even if…

  • Getting Your Vite React App to Work on Github Pages

    One of the many cool things about GitHub is GitHub Pages – the free web hosting Microsoft gives you while they vacuum up your code for CoPilot training. Each repository you keep there can have pages at <your-github-username>.github.io/<repo-name> GitHub To enable this, you need to go into the settings for the repository – look down…

  • Using LXC templates in Proxmox

    I wrote a couple of weeks ago about a standard workflow I use to spin up a web service in an LXC container to add to my self-hosted collection of services. It went a bit like: do this, and then this, then this other thing. Whenever you find yourself repeating a set of steps like…

  • Gogs, Gitea, Forgejo

    I’ve been really pleased with Gogs – it’s lightweight, was simple to spin up, and has worked perfectly. But then this morning on Mastodon, there’s a post from @Codeberg.org describing a security vulnerability in their Git hosting project Forgejo. This issue also apparently affects Gitea and Gogs – what’s up with that? I actually already…

  • Git – pushing to two remotes

    I am loving running a local Gogs instance – it’s nice pushing my git repos to a totally private hub that I know is backed up with all my other self-hosted infrastructure. Of course, there’s good reasons to have code in GitHub as well – my build-in-public philosophy, the vague possibility that some of it…

  • New Self-Hosted Service Workflow

    I’ve developed a bit of a workflow for setting up a new service of some type on the homelab. Installing it is the obvious thing, but I also have a few quality of life things I do to make it a full production-quality part of my installation. I thought it might be helpful to run…

  • Ansible – Importing a Playbook

    Ansible is a system for automating server tasks, and these tasks are written in a special yaml file called a playbook. I had need to call one playbook from another today and learned a couple of things. Plays vs Tasks In Ansible we run tasks. A group of tasks run against one particular sets of…

  • Building Docker images for multiple architectures

    My little mdserver app has been a good way for me to start experimenting with the the devops side of things, especially building for Docker. Since I wanted to make the Docker image available for ARM Linux & x86 Linux I had a janky shell script that looked like this: So I’d build two different…

  • Docker volume backup is more complicated than it should be

    When I set up my first Docker container (I think for Uptime Kuma), I had read around and understood there were two choices for persistent; bind mounts (where the data inside the container is effectively a symlink to a location on the local file system) or name volumes where Docker abstracted that away a bit,…