🖥️ FLV homelab
Table of Contents
Homelab Overview
yes, but why?
A personal cloud homelab offers several advantages, making it an appealing choice for tech enthusiasts and privacy-conscious users. First, it provides full control over your data, ensuring privacy and security without relying on third-party services. You can customize the setup to suit your needs, whether it's for file storage, media streaming, or hosting applications. It also allows for offline access and backup, ensuring you are never dependent on an external service's uptime. Additionally, managing your own cloud fosters learning in areas like networking, server management, and automation, which can be both educational and empowering. Tecnology indipendence need to be implemented starting from my home.
historic
- 2007 Toshiba tecra laptop (first headless machine=broken LCD) 512Mb ram
- 2013 good old IBM thinkpad Intel centrino 2 cores, 1Gb ram, good memory of blue <ENTER> key. First homelab server
- 2016 second homelab server Pine64 2Gb ram ARM era has started
- 2019 third homelab server RaspberryPI IV 8Gb ram storage with 500Gb 3.5" Barracuda
- 2021 water discovered: hobbyist single board is not suitable for server workload
- 2022 Welcome Zimaboard + Proxmox
track your assets
This document provides a comprehensive breakdown of the homelab network, including hosts, tasks, and documentation.
A simple org-mode document with a simple custom CSS is my personal tool for homelab resource mapping.
host table
Zimaserver
description
Proxmox primary node, host several LXC container and Virtual Machines, provide large storage via lvm.
resources
CPU(s) | Kernel Version | Type |
4 x Intel(R) Celeron(R) CPU N3450 @ 1.10GHz | Linux 6.8.12-2-pve (2024-09-05T10:03Z) | bare metal |
Memory | Storage | |
8 Gb | 2 Tb |
network
external | internal |
vmbr0 |
vmbr1 |
192.168.1.222 | 192.168.5.1 |
services
- Proxmox Virtual Environment
- Nut UPS monitor
Pbs
description
fanless mini appliance dedicated to Proxmox backup service may run other small services
resources
CPU(s) | Kernel Version | Type |
2 x Intel(R) Core(TM) i3-4020Y CPU @ 1.50GHz | Linux 6.8.4-2 (2024-04-10T17:36Z) | bare metal |
Memory | Storage | |
8 Gb | 916 Gb |
network
internal | wifi hotspot |
br0 |
wlp3s0 |
192.168.5.117 | the promised lan |
services
- backup storage bay mypbs hosts all zimaserver scheduled backups
- NFS export for other than Proxmox backups
obsd
description
This machine replicate flvbox.org
OpenBSD 7.6 environment. Every release cycle is tested here before flvbox.org
sysupgrade.
resources
CPU(s) | Kernel Version | Type |
1 x Intel(R) Celeron(R) CPU N3450 @ 1.10GHz (virtual) | Linux 6.8.4-2 (2024-04-10T17:36Z) | Virtual Machine |
Memory | Storage | |
256 Mb | 32 Gb |
network
internal |
em0 |
192.168.5.118 |
services
- OpenHTTPD with relayd and uwsgid
Django
description
My personal multi-service LXC container, some Django|Flask|Streamlit|Node personal apps
resources
CPU(s) | Kernel Version | Type |
2 x Intel(R) Celeron(R) CPU N3450 @ 1.10GHz (virtual) | Linux 6.8.12-2-pve (2024-09-05T10:03Z) | LXC container |
Memory | Storage | |
2,2 Gb | 128 Gb |
network
internal | external | OpenVpn | Wireguard |
eth0@if32 |
eth1@if36 |
tun0 |
wg0 |
192.168.5.102 | 192.168.1.223 | 10.12.0.2 | 10.0.0.4 |
services
- Django main project in
/var/www/piserver-production
managed by apache, this is the main portal - Self signed certificate for https
- Postfix smtp only local
- Code-server: listen on port
8080
- Webcam: port
8001
via dedicated Flask app in/var/www/dj_video
- RedisCommander: port
8081
- NFS server exports under
/srv/nfs4/
- zimaserver UPS control via
/home/flavio/ups-monitor/ups-monitor.py
- FlvCry: Flask webapp for crypto-ops, port
8088
unit: flvcry.service - FlvCloud: streamlit portal, port
8501
unit: flvcloud.service, this is the secondary portal - JupyterLab: port
8888
unit: jupyter-lab.service - FlvGeoLoc: Flask webapp for geolocate me, port
5000
unit: flvgeoloc.service - MySQL MariaDB Distrib 10.5.26-MariaDB
dhcp
description
DHCP server with PXE boot environment provided by dnsmasqd, serve all 192.168.5.0/24
subnet via ZyXEL GS1100-16 ethernet switch.
Important services reiceve per host DHCP configuration (static IP, PXE boot server/options)
resources
CPU(s) | Kernel Version | Type |
1 x Intel(R) Celeron(R) CPU N3450 @ 1.10GHz (virtual) | Linux 6.8.12-2-pve (2024-09-05T10:03Z) | LXC container |
Memory | Storage | |
256 Mb | 32 Gb |
network
internal |
eth0@if6 |
192.168.5.2 |
services
- DHCP and PXE boot environment via dnsmasqd
- HTTP via Nginx
http://dhcp.my.zimaserver/tftp/
tftp resources dir with autoindex - FLV rustic ADblocker populate dinamically
/etc/alternate_hosts
that's redirect all scams to0.0.0.0
- DNS name resolution service take in account
/etc/alternate_hosts
gitea
description
Private, Fast, Reliable DevOps Platform. Brings teams and developers high-efficiency but easy operations from planning to production.
resources
CPU(s) | Kernel Version | Type |
1 x Intel(R) Celeron(R) CPU N3450 @ 1.10GHz (virtual) | Linux 6.8.12-2-pve (2024-09-05T10:03Z) | LXC container |
Memory | Storage | |
300 Mb | 100 Gb |
network
external | internal | wireguard |
eth0 |
eth1 |
wg0 |
192.168.1.14 | 192.168.5.139 | 10.0.0.6 |
services
- Gitea at
https://gitea.my.zimaserver/
- my repositories hosts all homelab services
uptimekuma
description
Uptime Kuma is an easy-to-use self-hosted monitoring tool.
resources
CPU(s) | Kernel Version | Type |
1 x Intel(R) Celeron(R) CPU N3450 @ 1.10GHz (virtual) | Linux 6.8.12-2-pve (2024-09-05T10:03Z) | LXC container |
Memory | Storage | |
256 Mb | 4 Gb |
network
internal |
eth0@if16 |
192.168.5.3 |
services
- Uptime Kuma monitoring dashboard at
http://uptimekuma.my.zimaserver:3001
redis
description
Redis (Remote Dictionary Server) is a source-available, in-memory storage, used as a distributed, in-memory key–value database, cache and message broker, with optional durability.
resources
CPU(s) | Kernel Version | Type |
1 x Intel(R) Celeron(R) CPU N3450 @ 1.10GHz (virtual) | Linux 6.8.12-2-pve (2024-09-05T10:03Z) | LXC container |
Memory | Storage | |
1,25 Gb | 4 Gb |
network
internal | OpenVpn | Wireguard |
eth0@if7 |
tun0 |
wg0 |
192.168.5.134 | 10.12.0.25 | 10.0.0.5 |
services
- Redis listen on internal and vpn
[X]
migrated to Valkey
whoogle
description
Get Google search results, but without any ads, JavaScript, AMP links, cookies, or IP address tracking.
resources
CPU(s) | Kernel Version | Type |
1 x Intel(R) Celeron(R) CPU N3450 @ 1.10GHz (virtual) | Linux 6.8.12-2-pve (2024-09-05T10:03Z) | LXC container |
Memory | Storage | |
256 Mb | 2 Gb |
network
internal | OpenVpn |
eth0@if18 |
tun0 |
192.168.5.123 | 10.12.0.23 |
services
- Whoogle Search listen on internal and vpn, port
5000
trilium
description
Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases.
resources
CPU(s) | Kernel Version | Type |
1 x Intel(R) Celeron(R) CPU N3450 @ 1.10GHz (virtual) | Linux 6.8.12-2-pve (2024-09-05T10:03Z) | LXC container |
Memory | Storage | |
256 Mb | 4 Gb |
network
internal |
eth0@if17 |
192.168.5.145 |
services
- Trilium listen on internal , port
8080
,http://trilium.my.zimaserver:8080
blog
description
Personal blog
- BE: Django application that provides a RESTful API for managing blog posts. The API allows clients to list, create, retrieve, update, and delete posts. The application is built using Django and Django Rest Framework (DRF).
- FE: React front-end, custom CSS in order to avoid bootstrap or similar frameworks.
resources
CPU(s) | Kernel Version | Type |
1 x Intel(R) Celeron(R) CPU N3450 @ 1.10GHz (virtual) | Linux 6.8.12-2-pve (2024-09-05T10:03Z) | LXC container |
Memory | Storage | |
900 Mb | 8 Gb |
network
internal | OpenVpn |
eth0@if31 |
tun0 |
192.168.5.140 | 10.12.0.27 |
services
- Django backend listen on internal , port
8000
,http://blog.my.zimaserver:8000
- React frontend listen on internal and vpn, port
80
,http://blog.my.zimaserver
lfserver
description
lf aka father personal cloud space, data vault, app server.
resources
CPU(s) | Kernel Version | Type |
1 x Intel(R) Celeron(R) CPU N3450 @ 1.10GHz (virtual) | Linux 6.8.12-2-pve (2024-09-05T10:03Z) | LXC container |
Memory | Storage | |
256 Mb | 120 Gb |
network
internal | OpenVpn |
eth0@if27 |
tun0 |
192.168.5.110 | 10.12.0.18 |
services
- VPN gateway from internal network set default route to lfserver allow traffic with OpenVPN vpn (layer 2)
- OpenSSH listen on internal and vpn
- BibliotecaCasalinga tiny Django app, port
8000
, listen on internal and vpn