Why
TL;DR I want to read more books.
The Past
2024 was the year that I ended a bunch of relationships
I was looking at my list of internet logins and thought “why the fuck do I have an account with a shop I’ve not used for years?”
So I set about terminating unused or unwanted accounts.
With various degrees of success.
Some account terminations were utterly straightforward, some required a couple of email prompts, others GDPR mails, whist others had simply vanished from the internet.
(As of writing this I’ve gone down from c.200 accounts to c.20.)
The Present
2025 is the year I rid myself of unused services
(Mainly the ones I’ve inflicted upon myself.)
I have gone through various installations and services over the years*.
The server that lives under the telly was running a whole bunch of stuff.
In no particular order:
- Different flavours of webserver (nginx and lighttpd)
- Webserver traffic analysis tools ( GoAccess and AWStats )
- Graphical packages for traffic analysis ( Grafana , Prometheus and NodeExporter )
- Various Fediverse social media installations ( Calckey , Firefish , Iceshrimp , Iceshrimp.NET and GoToSocial )
- A Git server (later moved to Forgejo )
- An RSS server ( FreshRSS )
- A streaming music server ( Navidrome )
- A media server ( Jellyfin )
- Pi-hole
- DNS server ( Unbound )
- VPN ( PiVPN and WireGuard )
- Mail server (Postfix)
- IMAP and POP3 server (Dovecot)
- An FTP server
- Bots
(*Not a comprehensive list; simply the ones I can remember as I’m writing this.)
Some of which required databases like:
- PostgreSQL
- MariaDB
- SQLite
As most of these services were internet facing I needed hardening tools like:
- UFW
- PGtune
- Fail2ban
With my Domain about to expire and an unexpected fuckup that necessitated reinstalling the server, I felt it was time to simplify a few things:
- Only install a webserver (nginx) for a couple of static legacy sites, meaning only Ports 80 and 443 need to be open on the router
- As traffic is coming into the server only on these two ports, the firewall only requires these two ports to be open
- SSH is only accessible from the LAN; no open Port 22 on the router means no need for Fail2ban
- The media server (Jellyfin) is only accessible from the LAN, so no router or firewall ports need to be open
- Any other networked device (TV etc) has the DNS set to use Cloudflare (1.1.1.1) rather than my DNS server
- No need for Pi-hole as my browser ad-blockers seem to be doing their job
The Future
Friction
Has streamlining my usage caused friction?
Yes.
Is that all bad?
No.
I’ll use FreshRSS as an example.
I had it running happily on the server.
It provided a flawless central place to bring together feed subscriptions and sync them with my other devices.
No complaints whatsoever.
However the administration side went something like this:
- Find a suitable server application (FreshRSS)
- Download, install and configure
- Regularly check for an update (if the application was not installed via the repositories)
- Backup the database (usually nightly via a cron job)
- Occasionally check that those backups restore correctly
- Have a process in place to get the backups off the server and somewhere safe
- Find an Android app (Feeder)
- Download, install and configure
- Updates happen automatically (as I chose an application from the Store)
- Syncs happen automagically
That seems a lot but in reality the majority of work was done via bash scripts.
Now, my current desktop workflow is:
- Find a desktop app (Liferea)
- Download, install and configure
- Updates happen automatically (as I chose an application from the repositories)
- Occasionally export a OMPL backup locally
As syncing is no longer happening, the current mobile workflow is:
- Find an Android app (FeedMe)
- Download, install and configure
- Updates happen automatically (as I chose an application from the Store)
- Occasionally import the OMPL backup using a wire connected to the laptop
Now, is it easier to have a service running on a server that syncs automatically?
Yes, of course it is.
But, overall (for me), it’s quicker to plug a wire into my phone and transfer a file, which I then import into my phones RSS reader.
Self hosting can be free from a cash perspective but it comes with a time cost
Repeat a similar process for all of the above mentioned services and the time cost start to add up.
For me, most, if not all were learning vehicles; a curiosity itch to scratch.
I was curious about the Fediverse so I installed and wrote scripts for various flavours and database schemas.
I wanted to learn about WordPress so installed and tinkered with that.
Likewise Hugo.
There were $Reasons for all of the services on the list; I’ve just run out of $Reasons.
Next?
As there is no Domain, there is no way to list this IP with Google; which means no search engine listings.
As I have zero social media there is no way to promote these pages.
So, if a blog is not findable and receives no traffic does it even exist?
¯\_(ツ)_/¯
The point is, I don’t care.
This was always for myself, my learning and my notes to myself about my learning.
So even this will probably be nuked in the near future.
For now?
I’m off to read a book.