# NAS Server (jallen-nas)

This document describes the configuration for the NAS server system.

## Hardware

The NAS server is built on AMD hardware:

- CPU: AMD processor
- Hardware-specific modules:
  - `nixos-hardware.nixosModules.common-pc`
  - `nixos-hardware.nixosModules.common-cpu-amd`
  - `nixos-hardware.nixosModules.common-cpu-amd-pstate`
  - `nixos-hardware.nixosModules.common-hidpi`

## Services

The NAS hosts various services:

### Media Services

- **Jellyfin** - Media server
- **Jellyseerr** - Media request manager
- **Sonarr** - TV show management
- **Radarr** - Movie management
- **Lidarr** - Music management
- **Bazarr** - Subtitle management
- **Music Assistant** - Music streaming integration with Home Assistant

### Download Services

- **Transmission** - Torrent client
- **NZBGet** - Usenet downloader
- **Prowlarr** - Indexer manager

### Document Management

- **Paperless-ngx** - Document management system

### File Sharing

- **Samba** - Windows file sharing
- **Nextcloud** - Self-hosted cloud storage

### AI Services

- **Ollama** - Local AI model hosting

### Smart Home

- **Home Assistant** - Smart home controller
- **Zigbee2MQTT** - Zigbee device integration
- **MQTT** - Message broker for IoT devices
- **Thread Border Router** - Thread network for smart home devices

## Storage Configuration

The NAS uses multiple storage devices:

1. **System Drive** - For the operating system
2. **Data Drives** - Configured as a storage array for media and data

## Network Configuration

The NAS is configured with:

- Static IP address
- Firewall rules for the various services
- Tailscale for secure remote access

## Backup Strategy

The NAS implements a comprehensive backup strategy:

1. **System Backup** - Regular backups of the NixOS configuration
2. **Data Backup** - Backups of important data to secondary storage
3. **Off-site Backup** - Critical data is backed up off-site

## Usage and Management

### Accessing Services

Most services are available through a reverse proxy, which provides:
- HTTPS access
- Authentication via Authentik
- Subdomain-based routing

### Adding Storage

To add additional storage to the NAS:

1. Add the physical drive to the system
2. Update the disko configuration
3. Rebuild the system with `nixos-rebuild switch`

### Monitoring

The system can be monitored through:
- Prometheus metrics
- Grafana dashboards
- Home Assistant sensors