SelfHosting Updates - Spring 2025

SelfHosting Updates - Spring 2025

March 21, 2025

New SelfHosted Apps

But first, new Selfhosting ways, wit PODMAN:

sudo apt-get install python3-pip
pip3 install podman-compose
pip3 show podman-compose
nano ~/.bashrc  # Or nano ~/.zshrc
#add this at the end
export PATH="$PATH:$HOME/.local/bin"

Reload:

source ~/.bashrc   # Or source ~/.zshrc
#docker network create caddy
#podman network create caddy
#podman-compose up -d

podman run -d -p 8888:8000 -p 9999:9000 --name=portainerpodman --restart=always -v $XDG_RUNTIME_DIR/podman/podman.sock:/var/run/docker.sock -v portainerpodman_data:/data portainer/portainer-ce

alt text

Homarr

What I like about Homarr

  1. Integrations with other apps: Nextcloud, qbitrorrent, …

alt text

alt text

  1. Weather for location (and forecast)
  2. Built in RSS Feed. Example
  3. Plays well with Home assistant

Better HTTPs and SSL

  1. I Started to get https with NGINX

  2. Then I tried Caddy with some of my AI projects last year

The good thing with Caddy, is that it will work as long as you have a good Caddyfile written and the DNS records set properly.

http challenge will require portforwarding if you are behind a NAT, but with DNS Challenge we are good to go

What do I like about Caddy

Easy setup as per JimsGarage Video and this post https://ugeek.github.io/blog/post/2023-10-05-caddy-certificado-https-autofirmado-red-local.html

⚠️
Make sure to create the A DNS Record pointing to the Pi home address, like pi-portainer.jalcocertech.xyz before!
git clone https://github.com/JAlcocerT/Docker #I have followed his guide and make minor tweaks
cd Security/Proxy/Caddy

sudo docker network create caddy
sudo docker compose up -d #dont use the OLD docker-compose up -d

#docker network connect caddy portainer

The local addresses are treated specially, as reserved IP:

alt text

Remember to configure this:

sudo nano /etc/hosts
#add the following
192.168.0.155 pi-portainer.jalcocertech.xyz

So that you are able to ping and communicate with your locally running service

ping pi-portainer.jalcocertech.xyz
# PING pi-portainer.jalcocertech.xyz (192.168.0.155) 56(84) bytes of data.
# 64 bytes from pi-portainer.jalcocertech.xyz (192.168.0.155): icmp_seq=1 ttl=64 time=7.31 ms
# 64 bytes from pi-portainer.jalcocertech.xyz (192.168.0.155): icmp_seq=2 ttl=64 time=11.1 ms
# 64 bytes from pi-portainer.jalcocertech.xyz (192.168.0.155): icmp_seq=3 ttl=64 time=25.5 ms
# ^C
# --- pi-portainer.jalcocertech.xyz ping statistics ---
# 3 packets transmitted, 3 received, 0% packet loss, time 2004ms
# rtt min/avg/max/mdev = 7.313/14.621/25.481/7.830 ms

alt text

The Caddy API its just amazing:

#sudo apt install jq
curl localhost:2019/config/ #you will see the current caddy config
#curl localhost:2019/config/ | jq .

And…you can do some automatic magic, and make new configurations to it via CLI.

More about Caddy 📌

Thats great if you are planning to spin services automatically without your supervision!

  1. Traefik has also been a great discovery lately, thanks to Dokploy which brings it configured

Authentication

Forward Auth

Immich

My previous go to solution with: Syncthing + PiGallery works perfectly.

But among all the Photo Tools I reviewed recently, Immich is the one I tried with the best mobile app experience.

What do I like about Immich?

It provides a very similar experience to Google Photos.

  1. Semantic Search and facial recognition

  2. Fantastic mobile apps: android/ios

  3. Respects file folder structure ????

  1. Also with Map Feature!

alt text

alt text

  1. When you create a new user, they will be prompted to change their password during the first login

Conclusions

Remember that it is possible to make business around open source.

Always check the licenses.

And remember to create the proper invoice, also with F/OSS.

Keep Using

  1. Media server: Kodi, Jellyfin?

If you have a smart tv, probably those are already installed or you can add them

alt text

alt text

The main difference is that Kodi is a unified server+client application, Jellyfin has the server and the clients separated into different apps.

Jellyfin will use the CPU, unless you do this trick: https://jellyfin.org/docs/general/administration/hardware-acceleration/amd/

Offline video workflow: Action cam -> Server -> Jellyfin -> SmartTV

alt text

See how the server (x300) was quite rev doing 1080p video

LocalSend and NewPipe are also interesting Android Apps to consider

  1. Portainer vs Dockge
  1. https://github.com/CorentinTh/it-tools

See it live: https://it-tools.tech/

Collection of handy online tools for developers, with great UX.

  1. Fail2Ban Setup

PiHole

This has been with my for a while.

But now its reloaded with its v6.

If you are looking for other Selfhosted DNS, see: GoAdblock

NextCloud

Its a very intuitive way to backup your Smartphones:

alt text

Respecting your folder order and avoiding the use of ML of immich

And you can always see what you have / modify stuff without taking space on your laptop:

alt text

See the bottom right, where you can add your NC web Dav path: davs://your_nc_user@nextcloud.yourdomain.duckdns.org/remote.php/webdav or dav://your_nc_user@192.168.0.12:8080/remote.php/webdav

ℹ️
You can install it on mobile devices via F-Droid or also Obtanium by using https://github.com/nextcloud/android

Or…use SFTP-Go as WebDav together with Syncthing:

Youtube FE

There are more alternatives, like:

Unlicensed | A clean and minimal youtube frontend, without all the ads and whistles


Thanks to

The TechHut:

https://www.youtube.com/watch?v=yUyxJr2xboI

Outro

Is my home Wifi secure enough?

sudo aptitude update
sudo aptitude -y install wifite

sudo apt-get -y install wifite

Tools for SelfHosters

  1. Reminna - Remote desktop client to manage your SSH, VNC, RDP
sudo apt install remmina
  1. RustDesk - To help others with their setup remotely

  2. Have everything synced properly?

sudo apt install meld
#sudo apt install kompare
#https://freefilesync.org/download.php