1.3 KiB
1.3 KiB
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 leadership-aware entrypoint script ensuring Navidrome only runs on the primary node.
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 monitoring Consul service registration, LiteFS replication status, and diagnosing Nomad allocation logs.