diff --git a/README.md b/README.md index c17d223..f2a9995 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,29 @@ -# .profile +# Lotus Guild -Organization profile README \ No newline at end of file +Tooling I built to run my own homelab: a six-node Proxmox/Ceph cluster on a UniFi network, with SSO, monitoring, ticketing and a self-hosted Matrix stack. Most of it is specific to my setup, so each repo leads with screenshots, demo GIFs and a one-line "Quick run" command to show what it does. + +**Wiki:** [wiki.lotusguild.org](https://wiki.lotusguild.org) has architecture write-ups, including the [infrastructure overview](https://wiki.lotusguild.org/en/Infrastructure/infra-overview). + +## Projects + +| | Project | What it does | +|---|---|---| +| [![](https://code.lotusguild.org/LotusGuild/gandalf/raw/branch/main/docs/img/dashboard.png)](https://code.lotusguild.org/LotusGuild/gandalf) | **[gandalf](https://code.lotusguild.org/LotusGuild/gandalf)** | Network diagnostics dashboard. Correlates UniFi switch ports, Linux link state and LLDP to find faults. Python / Flask. | +| [![](https://code.lotusguild.org/LotusGuild/pulse/raw/branch/main/docs/img/dashboard.png)](https://code.lotusguild.org/LotusGuild/pulse) | **[pulse](https://code.lotusguild.org/LotusGuild/pulse)** | Command and workflow orchestrator for the whole fleet, with approvals and live execution logs. Node.js / WebSocket. | +| [![](https://code.lotusguild.org/LotusGuild/tinker_tickets/raw/branch/main/docs/img/dashboard.png)](https://code.lotusguild.org/LotusGuild/tinker_tickets) | **[tinker_tickets](https://code.lotusguild.org/LotusGuild/tinker_tickets)** | Ticketing system with workflows, audit log, API keys and an MCP interface. PHP / MariaDB. | +| [![](https://code.lotusguild.org/LotusGuild/hwmonDaemon/raw/branch/main/docs/img/dry-run-summary.png)](https://code.lotusguild.org/LotusGuild/hwmonDaemon) | **[hwmonDaemon](https://code.lotusguild.org/LotusGuild/hwmonDaemon)** | Hardware health daemon: SMART, memory, CPU and network checks that open tickets automatically. Python. | +| [![](https://code.lotusguild.org/LotusGuild/analyzeOSDs/raw/branch/main/docs/img/hdd-candidates.png)](https://code.lotusguild.org/LotusGuild/analyzeOSDs) | **[analyzeOSDs](https://code.lotusguild.org/LotusGuild/analyzeOSDs)** | Ranks Ceph OSDs for replacement using SMART, utilisation and performance data. | +| [![](https://code.lotusguild.org/LotusGuild/proxDoc/raw/branch/main/docs/img/quick-check.png)](https://code.lotusguild.org/LotusGuild/proxDoc) | **[proxDoc](https://code.lotusguild.org/LotusGuild/proxDoc)** | Health check for Proxmox hosts. Bash. | +| [![](https://code.lotusguild.org/LotusGuild/driveAtlas/raw/branch/main/docs/img/storage-01.png)](https://code.lotusguild.org/LotusGuild/driveAtlas) | **[driveAtlas](https://code.lotusguild.org/LotusGuild/driveAtlas)** | Draws ASCII maps of server drive bays with SMART and Ceph details. Bash. | +| [![](https://code.lotusguild.org/LotusGuild/web_template/raw/branch/main/docs/img/dark-dashboard.png)](https://code.lotusguild.org/LotusGuild/web_template) | **[web_template](https://code.lotusguild.org/LotusGuild/web_template)** | Terminal-style UI template shared by the apps above. | + +## Infrastructure + +- **[matrix](https://code.lotusguild.org/LotusGuild/matrix)**: Synapse, LiveKit, Hookshot and Draupnir configuration for the self-hosted chat server. +- **[cinny](https://code.lotusguild.org/LotusGuild/cinny)**, **[cinny-desktop](https://code.lotusguild.org/LotusGuild/cinny-desktop)** and **[element-call](https://code.lotusguild.org/LotusGuild/element-call)**: forks used for the Lotus Chat client, desktop app and calls. +- **[freshStartScript](https://code.lotusguild.org/LotusGuild/freshStartScript)**: first-run setup for new Proxmox nodes. +- **[discordBot](https://code.lotusguild.org/LotusGuild/discordBot)**: archived. Replaced by Matrix. + +## About + +Everything is deployed with GitOps-style webhooks and signed releases, and monitored through the same tools shown above. Repos are MIT licensed unless they are forks, which keep their upstream licenses.