#SysadminLife

Jan Wildeboer 😷:krulorange:jwildeboer@social.wildeboer.net
2025-12-13

My new NAS box now has been upgraded from 8 to 32GB of RAM and is thus ready to run more containers. Once I've finished setting them up (current plan: Jellyfin and step-ca), I will put the complete setup process in a blog post for you all to read (and criticise. I know you people all too well ;)

#SelfHost #SysAdminLife @homelab

Cockpit overview page of my new NAS box, showing some hardware basics (that is a Lenovo m720q with a 4 core i3-8300 CPU, has 32 GB of RAM and is running Red Hat Enterprise Linux 10.1 with all updates installed).A bit more details via Cockpit. CPU load is below 0.2, memory use is negligible, the hard drives and RAIDs are happily humming along and the network is quiet.
The Fury 🐧💻❗️🔥:verified:thefyuuri@infosec.exchange
2025-12-13

I guess I f'd up when I installed my #rhel8 #vm to replace the #rhel7 one I had for myself at work. /boot couldn't install the latest kernel since it was too large. Even after deleting the only other kernel aside from the latest I was running off of, it was 19MB short.

Looking into it, the consensus was a lot of fearmongering about not touching it and just reinstall the OS. Yeesh. Sure, just do it again and get all my settings together again, no problem.

*DISCLAIMER*: Maybe don't do this unless you are willing to burn your system and start over from scratch (or better yet, reload your snapshot/backup you took before you did this, amirite?)

I just said "f it" and downloaded a #gparted live cd, popped it in the VM after adding 1GB (yeah, I know, overkill for /boot) to storage, then dragged that partition over that unallocated space. #vmware #rhel #linux #sysadmin #sysadminlife #sysadminproblems

"Slaps Hood" meme with the VMWare logo replacing the car with the text "Slaps VM" (top), "This baby can hold so many kernels" (bottom)
2025-12-12

#TIL #bash kennt seit Version 4 (kam 2009 oder so raus) die Umgebungsvariable PROMPT_DIRTRIM, mit der man den aktuellen Pfad im Prompt verkürzen kann.

#HomeLab #SysadminLife

johnnedram
2025-12-12

Here's to another successful annual disaster/recovery test!

Lighthouse Lore XVI
Morning breaks over the calm sea, and the Keeper stands ready.
A quiet beam, a steady hand, guiding travellers toward gentler waters.
In a noisy world, this small corner stays bright —
a reminder that not all lights flicker.

#SelfHosting #Fediverse #LighthouseLore #Mastodon #SysadminLife #KeepersOfTheLight #CalmCornerOfTheNet

lighthouse on a sunny morning

Here are my go-tos — show me your runners.
Out on the rock, these are the tools that keep the Lighthouse glowing through every storm: nvim, rclone, Tailscale, MinIO, htop, systemctl, mosh, Proton Drive.
Your turn — what keeps your setup alive?

#SelfHosting #Linux #SysadminLife #LighthouseLore

A note from the Lighthouse…

Down on the mainland, Windows 10 is creaking like an old ship’s hull — out of support, full of leaks, and half a billion souls still clinging to it while the zero-days circle like sharks.

Up here in the lantern room?
The Keeper mutters sudo zypper dup, the servers purr, and the beam cuts clean through the chaos.

Linux doesn’t panic.
It just gets on with it.

#LighthouseLore #Linux #Windows10 #SysadminLife #FOSS

Adrian :Varmor:adrian@talpa.ie
2025-12-10

Roses are red
Violets are blue
Unexpected outage
And alerts just flew

#sysadminlife #itops #sre

Jan Wildeboer 😷:krulorange:jwildeboer@social.wildeboer.net
2025-12-10

So Sendgrid stopped sending me Trezor phishing mails. The spammer(s) is now trying again using AmazonSES. Let's see how the abuse team at Amazon treats my complaints.

#SysAdminLife #Phishing #Spam

2025-12-10

Ach #NginX, warum so kleinlich?

Für das Web Interface von #OpenMediaVault ein #Zertifikat eingerichtet, Zack, das gleiche Zertifikat wurde für den Reverse Proxy vom #Nextcloud ausgeliefert, bei dem der SAN nicht stimmte.

OMV hat in die Config vom Default Server "listen [::]:443 http2 ssl;" eingetragen, was bei den anderen server-Blöcken nicht drin stand. Damit gewinnt der dann IMMER , auch wenn bei anderen server-Blöcken der server_name passt.

#IPv6 Config bei den anderen Blöcken nachgetragen, jetzt passt es wieder.

#HomeLab #SysadminLife

2025-12-09

How many ! are too many? Upgrading a Dell switch.

#networking #sysadmin #sysadminlife

2025-12-09

Always good to see a well trained pit crew at work.

One of our suppliers sent us some merch. And @leece had a great idea...

#sysadminlife #f1 #SmartCar #merch #funny

A group of seven men in McLaren livery pretending to perform a pit stop service on a Smart Fortwo.

⭐🌙 Lighthouse Lore IX — The Keeper’s Hour

There’s a moment just before midnight when every server goes quiet,
as if the whole stack is holding its breath.
That’s the Keeper’s Hour —
the time you notice the tiny things:
a log whisper, a soft warning,
a service thinking about misbehaving.

Catching it then is magic.
Missing it is disaster.

#LighthouseLore #SelfHosting #SysadminLife #DevOps

Lighthouse Keeper ascending the stairs

⭐ COMPLIANCE TOOT

The Haunted Lighthouse just levelled up — full GDPR/ICO-ready data protection framework, DPIA, SAR forms, internal policies, the whole pack stitched together.

Self-hosting feels even better when the compliance goblins are fed and quiet.
Back to building… and hey, don’t forget the paperwork 😉

#SelfHosting #GDPR #SysadminLife #MastodonAdmin

Jan Wildeboer 😷:krulorange:jwildeboer@social.wildeboer.net
2025-12-07

A very dangerous and brutal shell script using `exiv2` or, alternatively, when no EXIF data found, the last modification timestamp, to sort pictures into neat directories called YYYY/MM. Set the `odir=` at the top to your preferred output directory.

WARNING: Do not just copy/paste and let it run on your precious picture archive. This is raw, aggressive code that doesn't care about collateral damage. You have been warned.

codeberg.org/jwildeboer/gists/

1/3

#HomeLab #SysAdminLife #SelfHost @homelab

#!/bin/bash

# Set output directory
odir="/mnt/r1_8TB/smb/pub/PixArchive/"

cdir=$(pwd)

echo "exifrename working in $cdir"

for f in *.{jpg,JPG,jpeg,JPEG,png,PNG,heic,HEIC,cr2,CR2,orf,ORF}; do
  # Store file extension
  e=${f##*.};
  
  # Try to find EXIF date using exiv2 command
  d=$(exiv2 "$f" 2>/dev/null | grep timestamp | cut -d ' ' -f 4,5 | sed 's/ /_/g' | sed 's/://g');
  
  # no EXIF, use mdate
  if [ -z "$d" ]; then
    d=$(date -r "$f" +%Y%m%d_%H%M%S);
  fi
  
  # Output to YYYY/MM/ under odir
  o="$odir${d:0:4}/${d:4:2}/";
  
  # Check for duplicates, add number
  DUP=1;
  while [ -f "$o$d.$e" ]; do
    FTMP="$d"_$DUP
    if [ ! -f "$o$FTMP.$e" ]; then
      d=$FTMP
    fi
    DUP=$((DUP+1))
  done

  echo "$f -> $o$d.$e";

  # Uncomment the preferred set of commands, either cp or mv
#  mkdir -p "$o"
#  cp "$f" "$o$d.$e";
#  mv --no-clobber "$f" "$o$d.$e";
done

echo "exifrename DONE working in  $cdir"# exifrename 
exifrename working in /mnt/r1_8TB/smb/pub/TBS/Screenshots
Atari-800XL.jpg -> /mnt/r1_8TB/smb/pub/PixArchive/2025/10/20251022_084037.jpg
image_from_ios (1).jpg -> /mnt/r1_8TB/smb/pub/PixArchive/2025/09/20250923_211202.jpg
image_from_ios.jpg -> /mnt/r1_8TB/smb/pub/PixArchive/2025/09/20250922_234044.jpg
IMG_4807.jpg -> /mnt/r1_8TB/smb/pub/PixArchive/2025/10/20251015_192924.jpg
IMG_4812.jpg -> /mnt/r1_8TB/smb/pub/PixArchive/2025/10/20251015_191414.jpg
/mnt/r1_8TB/smb/pub/PixArchive/2025/11/20251128_135848.png
date: '*.PNG': No such file or directory
*.PNG -> /mnt/r1_8TB/smb/pub/PixArchive///.PNG
date: '*.heic': No such file or directory
*.heic -> /mnt/r1_8TB/smb/pub/PixArchive///.heic
date: '*.HEIC': No such file or directory
*.HEIC -> /mnt/r1_8TB/smb/pub/PixArchive///.HEIC
date: '*.cr2': No such file or directory
*.cr2 -> /mnt/r1_8TB/smb/pub/PixArchive///.cr2
date: '*.CR2': No such file or directory
*.CR2 -> /mnt/r1_8TB/smb/pub/PixArchive///.CR2
date: '*.orf': No such file or directory
*.orf -> /mnt/r1_8TB/smb/pub/PixArchive///.orf
date: '*.ORF': No such file or directory
*.ORF -> /mnt/r1_8TB/smb/pub/PixArchive///.ORF
exifrename DONE working in  /mnt/r1_8TB/smb/pub/TBS/Screenshots
𝙹𝚘𝚎𝚕 𝙲𝚊𝚛𝚗𝚊𝚝 ♑ 🤪joel@tumfatig.net
2025-12-06

After looking at the bug, I noticed my config file was a mess. For unknown reasons, it had two "defaults" sections with different settings. Although #Peertube worked ok, transcoding wasn’t. After a bunch of vimdiff and magic spell, all seem to be back in normal state; and YT synced videos are back available in various resolution 🥳

#BeenThereDoneThat #SelfHost #SysAdminLife

Jan Wildeboer 😷:krulorange:jwildeboer@social.wildeboer.net
2025-12-05

Hm. Does anyone have a little shell script that does this:

- Find all picture files
- Check if it has EXIF data and if yes, rename the file to YYYYMMDD_HHMMSS using the EXIF creation date
- If NOT, rename the file to the same pattern, but use the filesystem last modified date

I have `for img in $(ls *.[Jj][Pp][Gg] 2> /dev/null); do exiv2 -r'%Y%m%d_%H%M%S_'"$(tmp=${img%%.*};echo ${tmp##*_})" rename "$img" ; done`whicj does the first part, but fails when no EXIF

#HomeLab #SysAdminLife @homelab

Jan Wildeboer 😷:krulorange:jwildeboer@social.wildeboer.net
2025-12-05

And while doing sysadmin stuff, I also updated all 3 #forgejo runners to the current 12.1.0 version. Now to write that blog entry on how to setup Samba on a Linux box that allows you to create and use Time Machine backups for Apple machines. I learned a lot about that topic in the past few days :)

#Selfhost #Homelab #SysAdminLife @homelab

Screenshot showing my 3 forgejo runners are now at version 12.1.0An Apple machine being backed up using Time Machine with a Samba share on a Linux server as backup target.
Jan Wildeboer 😷:krulorange:jwildeboer@social.wildeboer.net
2025-12-05

It's Friday, so as always I did the `dnf update`, followed by a `reboot` on my little pool of 8 servers. I also deployed a certificate with certbot on my new NAS box, using certbot and my own certificate authority. For details on that: jan.wildeboer.net/2025/07/lets The weekend can start :)

#Selfhost #Homelab #SysAdminLife @homelab

Screenshot of a terminal session where I successfully install the root certificate from my own certificate authority and request a TLS certificate from it for my new NAS box.

Lighthouse lore vi
Post 1/5

The night the Lighthouse server woke up was the night the wind stopped whispering and started preaching over Peel. Fans hummed like monks, LEDs blinking like something with opinions. Caroline swore she heard it sigh. The machine wasn’t rebooting — it was becoming.

#LighthouseLore #Fediverse #SysadminLife

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst