23 lines
1.3 KiB
Markdown
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 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.
|