A repo with information regarding the homelab I use for myself and hopefully some people can learn from some of my head-wrangling experiences.
- coder - In order to manage my code environments rather than just plain VMs.
Almost everything here is containerized with the exception of a few things.
- Basically I take frp and run it on a cheap VPS host.
- frps running on VPS
- frpc running on my server
- Cloudflare is pointed to VPS. (basically a roundabout way to do cloudflare tunneling).
- Thought about using newt, but it doesn't exactly fit my needs because I have certain subdomains that are local-only, and it's not super intuitive on how to do that, if it's even possible.
- frpc -> traefik server that manages the DNS certificate and reverse proxy.
- traefik -> nginx server to manage some edge cases that traefik can't handle.
- Using imgproxy with static-web-server to handle any random static content.
- I use AdGuardHome with keepalived to make a single IP and adguardhome-sync to sync the instances.
- Then have my OPNSense Router force all DNS traffic in the network to the keepalive IP.
- Using authentik to manage SSO across as many of the services I have as possible.
- ntfy to handle notifications from automated backups or other random notifications.
- HomeAssistant - I don't use it a lot, just dabbled in some IoT automation. Alongside Tasmota, MQTT, Tasmoadmin, zwave.
- cronicle-edge for some miscellaneous automation.
- Using BackBlaze B2 and Duplicacy for cloud backup.
- Duplicacy is also used to do a local backup to a 2nd server that's running TrueNAS on Proxmox VM
- Immich and NextCloud for phone automated photo backups.
- Syncthing as a quick way to get files from one device to another.
- I also host a local gitea server to hold some automation scripts and also to hold a backup from github.
- urbackup to backup windows computers.
- bitwarden-secure-sync to backup password manager.
- ollama - API for model access.
- SearXNG - Not AI, but using this as a interface for the AI to web search via OpenWebUI.
- Kokoro-FastAPI - TTS
- open-webui - A really nice front end and tools for utilizing AI
- And lastly, I have a private rust project to interact with it via discord.
- morss - to convert non-RSS feeds into RSS ones (my own fork).
- rss-bridge - Easy way to get rss feeds with better filtering.
- FreshRSS - WebUI
- scrutiny for SMART reports on drives.
- beszel for quick insights on desktops/servers.
- teslamate ingest data from tesla API.
- cable-modem-stats ingest data from xFinity modems
- pyapcupsdexporter ingest data from APC UPS
- unpoller ingest data from Unifi Devices
- cadvisor ingest data from current server and drives.
- MySpeed - Simple automated speed tests and historical data.
- Prometheus Grafana InfluxDB and Vector for routing, graphing, storage, etc.
- Wallos - simple subscriptions I pay for overview
- Monica - personal crm.
- FireflyIII - finances
- Dawarich - Google Maps Timeline alternative
- DumbAssets - Used to keep track of maintenance tasks.
- Outline - wiki of sorts.
- Karakeep - Previously known as hoarder. A great bookmarking tool. Previously used Linkwarden
- Privatebin - For any E2E required text transfer.
- TheLounge - IRC needs.
- OpenGist - any quick saves of text.
- Vikunja - Todo list.
- Zipline - a photo server, I mostly use for ShareX compatibility.
- Collabora - Nextcloud integration with OpenOffice. Basically a Google Docs Suite alternative.
- Romm - Emulation in the web browser.
- matrix + element
- Backing up Openwrt
ssh root@openwrt-ip 'umask go= && sysupgrade -b /tmp/backup-openwrt-$(date +%F).tar.gz'
scp root@openwrt-ip:"/tmp/backup-openwrt*.tar.gz" /where/you/want/to/save
ssh root@openwrt-ip 'rm /tmp/backup-openwrt*.tar.gz'
# Now only keep the last 3 backups.
find /where/you/want/to/save -type f -printf '%T@\t%p\n' |
sort -t $'\t' -g |
head -n -3 |
cut -d $'\t' -f 2- |
xargs rm || true
- Monitoring MB8600 modem
- I created a project here to start monitoring with grafana