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

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 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).