Homepage for my homelab
  • Rust 88.2%
  • HTML 11.8%
Find a file
picklemustard 1876cc33a9
Some checks failed
test-scm/pipeline/head There was a failure building this commit
service endpoint discoverer
2026-02-14 20:53:26 -06:00
src service endpoint discoverer 2026-02-14 20:53:26 -06:00
templates changes 2026-02-13 22:42:17 -06:00
tests service endpoint discoverer 2026-02-14 20:53:26 -06:00
.env service endpoint discoverer 2026-02-14 20:53:26 -06:00
.gitignore Initial commit 2026-02-13 04:47:54 +00:00
AGENTS.md initial agents and jenkins files 2026-02-12 22:53:45 -06:00
ARCHITECTURE.md changes 2026-02-13 22:42:17 -06:00
Cargo.toml service endpoint discoverer 2026-02-14 20:53:26 -06:00
Jenkinsfile changes 2026-02-13 22:42:17 -06:00
LICENSE Initial commit 2026-02-13 04:47:54 +00:00
README.md test 2 2026-02-13 17:36:26 -06:00

Homelab Homepage

A Rust-based homepage for managing and monitoring a homelab environment.

Features

  • Dynamic service discovery via Traefik reverse proxy
  • Active alerts display from Grafana and Prometheus Alertmanager
  • Real-time updates via HTMX
  • Extensible for future home automation integrations

Tech Stack

  • Web Framework: Axum
  • Async Runtime: Tokio
  • Templating: Tera
  • Frontend: HTMX + Tailwind CSS (CDN)

Getting Started

Prerequisites

  • Rust 1.70+
  • Access to Traefik, Grafana, and Alertmanager (optional for full functionality)

Configuration

  1. Copy the example environment file:

    cp .env.example .env
    
  2. Edit .env with your service URLs and API keys.

Running

# Development
cargo run

# Production build
cargo build --release
./target/release/homelab_homepage

The server will start on port 3000 by default.

Project Structure

Homelab_Homepage/
├── src/
│   ├── main.rs              # Entry point, server setup
│   ├── config.rs            # Configuration loading
│   ├── error.rs             # Error types
│   ├── state.rs             # Application state
│   ├── handlers/            # Axum route handlers
│   │   ├── mod.rs
│   │   └── homepage.rs
│   └── services/            # External service integrations
│       └── mod.rs
├── templates/               # Tera HTML templates
│   ├── base.html
│   └── index.html
├── static/                  # Static assets
├── Cargo.toml
└── .env.example

API Endpoints

Endpoint Description
GET / Homepage
GET /health Health check
GET /static/* Static files

License

MIT

Updates test

testy testy testy testy