Files
navidrome-litefs/conductor/tech-stack.md

23 lines
1.3 KiB
Markdown

# Technology Stack - JuiceNavidrome
## Core Infrastructure
- **Nomad:** Orchestrates the deployment of the Navidrome service across the cluster nodes.
- **Consul:** Handles service discovery, health monitoring, and the distributed locking required for LiteFS leader election.
- **Docker:** Provides the container runtime environment for Navidrome and LiteFS.
## Storage & Database
- **SQLite:** The primary relational database used by Navidrome for metadata and state.
- **LiteFS:** A FUSE-based filesystem that provides synchronous replication of the SQLite database across the cluster.
- **Process Management:** LiteFS-supervised with a robust TTL-heartbeat registration script ensuring zero-downtime failover and clean service catalog management.
## Automation & Delivery
- **Gitea Actions:** Automates the multi-arch (AMD64/ARM64) building and pushing of the custom supervised container image.
- **Git:** Source control for all infrastructure-as-code artifacts.
## Networking
- **Traefik:** Acts as the cluster's ingress controller, routing traffic based on Consul tags.
- **LiteFS Proxy:** Handles transparent write-forwarding to the cluster leader.
## Monitoring & Tooling
- **Python (Cluster Status Script):** A local CLI tool for hybrid monitoring using Nomad (discovery & uptime), Consul (service health), and LiteFS HTTP API (internal replication state).