Skip to content

rogu3bear/lan-orchestrator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

LAN Orchestrator

This project implements a local DNS and reverse-proxy orchestration system to manage services on a LAN. It follows a 10-phase roadmap for development, starting from a Mac-based prototype and evolving to a Dockerized solution.

10-Phase Roadmap

# Phase Goal Core Actions / Factors
1. Bootstrap & Environment Clean local dev ground - Create new Git repo lan-orchestrator.
- .tool-versions for go, node, python (LTS).
- Install Homebrew deps: go, bun, python3, mkcert, coreutils, docker.
- Generate LAN root-CA via mkcert; trust in macOS keychain.
- Define .env.example (ports, DB path, Zoraxy paths).
2. Stack Skeleton Empty but runnable services - Add docker-compose.yml with stub services.
- Pin images and expose ports.
- make dev script.
- Commit branch feat/stack-skeleton.
3. Zoraxy Reverse-Proxy Local HTTP/TCP routing engine - Vendor Zoraxy binary.
- Configure YAML and verify UI.
- Add config reload wrapper and health-check.
4. CoreDNS Local Resolver .lan / bare-word resolution - CoreDNS config with zone file.
- Expose ports and provide DNS setup script.
5. SQLite Config DB Single source of truth - Define services schema.
- Set up migrations and tests.
- Commit branch feat/config-db.
6. FastAPI Backend REST brain between UI ↔ Zoraxy ↔ CoreDNS - Endpoints for service management.
- Handle config updates and tests.
7. React / shadcn UI Human-friendly control panel - Build React app with forms and API integration.
8. Service Discovery Helpers Nice-to-have automation - Add mDNS scanning and port discovery.
9. Full-Stack Tests & Multi-Device Verification Guaranteed LAN-wide operation - Run e2e tests and manual verifications.
10. Dockerization & Release Portable, scalable package - Convert to Docker volumes and set up CI/CD.
- Write documentation and tag release.

Execution Rules

  • One branch per phase, named feat/<phase-name>.
  • Commit messages follow <type>: <subject>.
  • Run make ci before pushes.
  • Sync with remote after each phase.
  • After Phase 10, open PR to main for review.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published