From ec7e56529d687c501f959b4a3b604d54efd94ffd Mon Sep 17 00:00:00 2001 From: rezayaghobi-dev Date: Sun, 23 Aug 2026 22:20:33 +0330 Subject: [PATCH] added a html preview --- .freebuff/preview.html | 309 +++++++++++++++++++++++++++++++++++++++++ .freebuff/run.md | 22 +++ 2 files changed, 331 insertions(+) create mode 100644 .freebuff/preview.html create mode 100644 .freebuff/run.md diff --git a/.freebuff/preview.html b/.freebuff/preview.html new file mode 100644 index 0000000..5192030 --- /dev/null +++ b/.freebuff/preview.html @@ -0,0 +1,309 @@ + + + + + + Homelab โ€” Infrastructure Overview + + + + +

๐Ÿ  Homelab

+

A self-hosted homelab running on Docker Compose, built and maintained on Ubuntu Server.

+ +
+ Docker + Docker Compose + Ubuntu Server + Ansible + Prometheus + Grafana + K3s + GitLab + Vagrant +
+ +
+

๐ŸŸข Always-On Services

+
+
+

๐Ÿ“ŠMonitoring Stack

+

Prometheus, Grafana, cAdvisor, node-exporter, Loki + Alloy for centralized logging

+ docker-compose/monitoring-grafana-promethues-cadvisor-node-exporter/ +
+
+

๐Ÿ›ก๏ธPi-hole

+

Network-wide DNS-level ad and tracker blocking

+ docker-compose/pihole/ +
+
+

๐ŸณPortainer

+

Web UI for managing and monitoring all Docker containers

+ docker-compose/portainer/ +
+
+

๐Ÿ”ฎDockScope

+

3D visual dashboard mapping containers, networks, and dependencies

+ docker-compose/dockscope/ +
+
+

โšกn8n

+

Workflow automation engine, backed by Postgres

+ docker-compose/n8n/ +
+
+

๐Ÿ“Samba

+

Network file sharing across LAN devices

+ docker-compose/samba/ +
+
+

๐Ÿ“‚Filebrowser

+

Web-based file manager for the server's storage

+ docker-compose/filebrowser/ +
+
+

๐ŸŽฌMedia Stack

+

Plex, Sonarr/Radarr/Prowlarr/Whisparr, qBittorrent

+ docker-compose/mediastack/ +
+
+

โ›๏ธMinecraft

+

Self-hosted game server

+ docker-compose/minecraft/ +
+
+

๐Ÿ”Sentinel + smartctl

+

Disk health monitoring via S.M.A.R.T. data

+ docker-compose/sentinel/ +
+
+

๐Ÿค–OpenHands

+

Self-hosted AI coding agent backed by Ollama

+ docker-compose/openhands/ +
+
+

๐Ÿ”€Nginx Proxy Manager

+

Reverse proxy with friendly .home hostnames and local HTTPS

+ docker-compose/nginx-proxy-manager/ +
+
+

๐ŸŽฏSemaphore

+

Self-hosted Ansible UI for running playbooks

+ docker-compose/semaphore/ +
+
+

๐ŸฆŠGitLab CI/CD

+

Self-hosted GitLab Omnibus + Docker-executor Runner

+ docker-compose/gitlab/ +
+
+

๐Ÿ“ฆMinIO

+

S3-compatible object storage, backup target

+ docker-compose/minio/ +
+
+

โ˜ธ๏ธK3s Cluster

+

Single-node K3s alongside Docker Compose, monitored by same stack

+ kubernetes/ +
+
+
+ +
+

๐Ÿงช Learning Labs (not always-on)

+
+
+

๐Ÿ”ŽElastic Stack (ELK)

+

Elasticsearch + Kibana, security-enabled โ€” replaced by Loki for daily logging

+ docker-compose/ELK/ +
+
+

๐Ÿ’ปVagrant Test VM

+

Disposable Debian 12 VM for testing provisioning before touching production

+ vagrant/ +
+
+
+ +
+

โš™๏ธ Ansible Automation

+
+
+

๐Ÿ”„Update Playbooks

+

16 thin playbooks, one per stack, all delegating to the shared docker_compose_update role: pull โ†’ recreate โ†’ health-check โ†’ prune. Run through Semaphore.

+ ansible/update-playbooks/ +
+
+

๐Ÿ—๏ธServer Provisioning

+

Full server preparation: packages, sshd hardening, iptables, fail2ban, auditd, Docker CE, Nexus + Traefik. Tested against Vagrant first.

+ ansible/preparing-playbook/ +
+
+
+ +
+

๐Ÿ—‚๏ธ Repository Structure

+
+homelab/
+โ”œโ”€โ”€ docker-compose/ # every service in its own folder
+โ”‚ โ”œโ”€โ”€ monitoring-grafana-promethues-cadvisor-node-exporter/
+โ”‚ โ”œโ”€โ”€ pihole/   portainer/   dockscope/   n8n/
+โ”‚ โ”œโ”€โ”€ samba/   filebrowser/   mediastack/   minecraft/
+โ”‚ โ”œโ”€โ”€ sentinel/   smartctl/   minio/
+โ”‚ โ”œโ”€โ”€ openhands/   nginx-proxy-manager/   semaphore/
+โ”‚ โ”œโ”€โ”€ gitlab/   (with ci-images-reference/ & backups/)
+โ”‚ โ””โ”€โ”€ ELK/
+โ”œโ”€โ”€ ansible/
+โ”‚ โ”œโ”€โ”€ update-playbooks/   # day-to-day stack updates
+โ”‚ โ”‚    โ”œโ”€โ”€ roles/docker_compose_update/
+โ”‚ โ”‚    โ””โ”€โ”€ update-*.yml + ping.yml
+โ”‚ โ””โ”€โ”€ preparing-playbook/ # server provisioning
+โ”‚         โ””โ”€โ”€ reza-ansible/ (inventory, roles, vault)
+โ”œโ”€โ”€ docs/ # detailed write-ups per topic
+โ”œโ”€โ”€ kubernetes/ # K3s manifests & RBAC patches
+โ”œโ”€โ”€ dashboards/ # Grafana dashboard JSON exports
+โ”œโ”€โ”€ vagrant/ # disposable test VM
+โ””โ”€โ”€ scripts/ # linux_setup.sh provisioning script +
+
+ +
+

๐Ÿ“ˆ Grafana Dashboards

+ + + + + + + + + + +
DashboardData SourcesType
GitLab Rails & Puma OverviewPrometheus + LokiCustom-built
GitLab Runner MetricsPrometheusCustom-built
Kubernetes / PodsPrometheusCommunity import
K3s Cluster OverviewPrometheusCommunity import
K3s Unified App DashboardPrometheus + LokiCustom-built
K3s Professional Log AnalyzerLokiCustom-built
+
+ + + + + diff --git a/.freebuff/run.md b/.freebuff/run.md new file mode 100644 index 0000000..797dbb8 --- /dev/null +++ b/.freebuff/run.md @@ -0,0 +1,22 @@ +# Preview run doc + +## Mode + +Standalone HTML file โ€” no dev server, no dependencies. + +## How to reproduce + +1. The preview is a single static file at `.freebuff/preview.html` +2. No build step, no install โ€” just open it in a browser or register it via `register_preview` with `htmlPath` + +## Running + +```bash +# The preview is served by Freebuff's built-in static file server. +# No manual server needed โ€” just point register_preview at the HTML file. +``` + +To re-register: +``` +register_preview(htmlPath="D:\\files\\projects\\homelab\\docker-compose\\.freebuff\\preview.html") +```