Files
project-directory/AGENTS.md
T

1.8 KiB

Project Directory — Agent Guide

Living index page of the Ourpad home lab. Lists self-hosted projects, public services, internal services, infrastructure details, and LXC inventory — single-page reference for the entire homelab.

Stack

  • Python 3.11+, FastAPI, uvicorn
  • httpx — proxied API calls to Proxmox and network-status
  • Frontend: static HTML/CSS with embedded JS, SVG favicon

Project Structure

serve.py            # ~300 lines — FastAPI server, static file + API proxy
index.html          # ~41KB — self-contained HTML with all project/service data
favicon.svg         # SVG favicon
README.md

How to Run

python serve.py

Binds to 127.0.0.1 by default (port configurable via SERVE_PORT env var).

Key Architecture

  • Serves index.html as static content
  • /api/status — proxies to internal network-status service for live status checks
  • Proxmox API integration — fetches LXC/VM status from two Proxmox hosts
  • All project/service data embedded directly in index.html (no separate data files)

Production

Environment Variables

Var Default Description
SERVE_PORT 18834 Server listen port

Security Note

serve.py contains Proxmox admin credentials (base64 encoded). This is internal- only behind NPMPlus proxy. Do not expose directly to the internet.

Pitfalls

  • Single pageindex.html has all data hardcoded; adding a new service requires editing the HTML directly
  • Proxmox credentials embedded in source — use environment-based auth if exposing more broadly
  • No CI/CD — update by editing index.html and serve.py directly on the server