Josheli
  • Home
  • Blog
    • Knob
    • Running
    • Soccer
    • Technology
  • About
Knob , Technology

A New, Old Hobby: Self-hosted Services

by dv February 21, 2021 No Comments

I’ve recently returned to a hobby of mine … self-hosting various software services and web applications on a server I maintain. I’ve hosted my own websites (and the websites of friends and family) for almost two decades, but that’s always been done using a server in the cloud, through a company that maintains the actual infrastructure (hardware, network, etc). Also, every now and then I would stand up a server (usually an old laptop) at home and try to run Plex or something, but I was never disciplined enough about it (backups, documentation, updates, etc), and the server would rot after a few months.

But sometime last fall, a few things coalesced and I’ve jumped back into the self-hosting game. First, my son’s old desktop was just sitting unused in my basement, and I realized it had the horsepower to make a serviceable server. Second, I’ve become more concerned about both privacy, and vendor lock-in. Services go away all the time, and when they do, what happens to your data? Speaking of “your data”, I’m not happy that my data is sold to advertisers and credit companies and any and every corporation or organization. Third, I was bored, and in thinking about what I enjoy doing, I realized I like doing “tech-y” things like writing code and administering servers.

So over Thanksgiving break I fired up the old desktop, plugged in some old drives for extra storage, and installed Ubuntu. There were some stumbling blocks along the way, like the original SSD dying after a couple of weeks. In the past, I probably would have just bailed on the hobby right then. But I scavenged another SSD from an old laptop, reinstalled Ubuntu, and realized I needed to go about this more systematically.

To that end, I wrote up some general guidelines, or guiding principles, for this project:

  1. Always prefer simplicity over complexity. Easier to secure, reason about, troubleshoot, maintain, uninstall, upgrade, etc.
  2. Always prefer directed, focused solutions (unix philosophy). E.g. dave vs nginx for webdav.
  3. Always prefer open source. It’s ok if they have a paid business model, but the app or service should be open source.
  4. Always prefer open standards for files, protocols, etc. Text-based, http, etc. Propiertary sucks and promotes lock-in.
  5. Always prefer default configurations. Customization doesn’t survive (hosts, upgrades, etc).
  6. Services that are servers should be dockerized and managed with docker-compose.
  7. Services that need to be built, or are multi-step installations, or have complex configuration, should be dockerized and managed with docker-compose.
  8. Services that are not servers, and can be installed as simple binaries or packages, should not be dockerized.
  9. If it can’t be recreated automatically, it needs to be backed up. But you don’t need to backup things that can be recreated automatically.
  10. All custom config should be versioned in source control.
  11. Documentation, documentation, documentation. The previous and current administrators (me) are idiots, and to understand why or how they did something, it needs to be written down.

So after a few months, I have a server, well, serving several, well, services: RSS reader, note taking app, “read later” article repository, Strava-like running tracker, and a few others. Like the guidelines say, Docker and docker compose are used to manage most services, everything is documented, all config is in a Git repository, and what needs to be backed up, is backed up.

In the past, it always seemed like a waste of time to manage all this myself when there are so many free, cloud-based services in the world. Why in the world should I install, configure and maintain my own “read later” service for web articles, when I can just sign up for something like Pocket and have them do it for me? Or why not just use Strava, or OneNote/Evernote? In the end, I realized the answer to why I self-host is … because I can, and because I enjoy it.

Related Content:

  • Stupidly Simple, Static, Startpage for Self-hosted Services by Dv February 21, 2021 I mentioned the other day that I've been self-hosting some software services on a server in my basement. Well, I…
  • Running a Plex Media Server on an Old Laptop by Dv December 17, 2015 I've been running a Plex Media Server off on old laptop for more than a year now without a hiccup.…
  • Dockerizing PHP apps and deploying to AWS Fargate Part 1 by Dv February 6, 2019 For the day job, I maintain four custom PHP apps in addition to several Drupal sites. Up until a couples…
  • Single Sign-on in Caddy Server Using only the… by Dv February 24, 2021 As mentioned, I've started self-hosting a lot of services, and in front of them all I have a reverse proxy…
  • Aptana Studio 3 Sync with Mapped Drives by Dv December 2, 2011 Soldiering on with Aptana, fighting as I go, here's how I was able to set up automatic synchronization between my…
It's only fair to share...Share on facebook
Facebook
Share on twitter
Twitter
Share on email
Email
  • Previous 2021 Running Update4 years ago
  • Next Stupidly Simple, Static, Startpage for Self-hosted Services4 years ago

Leave a Reply

Your email address will not be published. Required fields are marked *

Popular Posts

  • Josheli, What Happened? (55,009)
  • Stupidly Simple, Static, Startpage for Self-hosted Services (29,603)
  • Running a Plex Media Server on an Old Laptop (25,800)
  • Simple Google Photos: A WordPress Plugin (22,729)
  • Only Say True Things (22,073)

Random Read

No learning and not enough fun
Interesting thing about the Congress Avenue Mile. I mentioned that the 1000 we did the…

Read More

Google Photo
Google Photo
Google Photo
Google Photo

Social Things

  • Family Vance
  • Texas Longhorns News

RSS From Familyvance

  • Snowshoeing at Brainard Lake
  • Fishing and Hiking at Golden Gate Canyon State Park
  • Rainbow Trout Fishing Report at Waneka Lake
  • Weightless Texas-Rig Plastic Worms at Sawhill Ponds and Coot Lake
  • Sawhill Ponds Fishing Report
2025 Josheli. Donna Theme powered by WordPress