I want to self host more, but power draw is a concern.
So I have gone the route of running to Pi 4 8gb models as my hosts of choice.
So far I am hosting:
Non-Docker:
- PiHole
- Unbound
- Wireguard (and Wireguard-UI)
Docker:
- ForgeJo
- Dozzle
- Homarr
- LinkWarden
- Traefik
- Watchtower
There are a few other services I want to get up, but I haven’t gotten around to it:
- Jellyfin
- Immich
- Nextcloud
As to why:
- ForgeJo to host my own git repositories (Docker Compose files, Chezmoi dot files, Miscellaneous configs)
- PiHole for ad blocking
- Unbound, well, having my own DNS
- Wireguard so I can connect to my home network
- Dozzle for easy log checking for my docker containers
- Linkwaren so I can backup bookmarks in a privacy friendly way
- Homarr for easy access to other web services I host
- Traefik so I can resolve IP:port to a hostname with SSL certificates even though everything I host is internal only
- Watchtower to update my Docker containers
I am not sure if there is a good way to do it without scripting, and a router that would allow for taking variable input from an external script. But theoretically if the router would support it, you could script a port change at times there are no one on the server.
Essentially the server port is in a text file, you could use some command line utilities, and write a script leveraging something like sed to change the port in place.
But I am overcomplicating it. lol