# Atlantis Runbook

*Synology DS1821+ - Primary NAS and Media Server*

**Endpoint ID:** 2  
**Status:** 🟢 Online  
**Hardware:** AMD Ryzen V1500B, 32GB RAM, 8 bays  
**Access:** `atlantis.vish.local`

---

## Overview

Atlantis is the primary Synology NAS serving as the homelab's central storage and media infrastructure.

## Hardware Specs

| Component | Specification |
|----------|---------------|
| Model | Synology DS1821+ |
| CPU | AMD Ryzen V1500B (4-core) |
| RAM | 32GB |
| Storage | 8-bay RAID6 + SSD cache |
| Network | 4x 1GbE (Link aggregated) |

## Services

### Critical Services

| Service | Port | Purpose | Docker Image |
|---------|------|---------|--------------|
| **Vaultwarden** | 8080 | Password manager | vaultwarden/server |
| **Immich** | 2283 | Photo backup | immich-app/immich |
| **Plex** | 32400 | Media server | plexinc/pms-docker |
| **Ollama** | 11434 | AI/ML | ollama/ollama |

### Media Stack

| Service | Port | Purpose |
|---------|------|---------|
| arr-suite | Various | Sonarr, Radarr, Lidarr, Prowlarr |
| qBittorrent | 8080 | Download client |
| Jellyseerr | 5055 | Media requests |

### Infrastructure

| Service | Port | Purpose |
|---------|------|---------|
| Portainer | 9000 | Container management |
| Watchtower | 9001 | Auto-updates |
| Dozzle | 8081 | Log viewer |
| Nginx Proxy Manager | 81/444 | Legacy proxy |

### Additional Services

- Jitsi (Video conferencing)
- Matrix/Synapse (Chat)
- Mastodon (Social)
- Paperless-NGX (Documents)
- Syncthing (File sync)
- Grafana + Prometheus (Monitoring)

---

## Storage Layout

```
/volume1/
├── docker/          # Docker volumes
├── docker/compose/ # Service configurations
├── media/          # Media files
│   ├── movies/
│   ├── tv/
│   ├── music/
│   └── books/
├── photos/         # Immich storage
├── backups/        # Backup destination
└── shared/         # Shared folders
```

---

## Daily Operations

### Check Service Health
```bash
# Via Portainer
open http://atlantis.vish.local:9000

# Via SSH
ssh admin@atlantis.vish.local
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
```

### Check Disk Usage
```bash
# SSH to Atlantis
ssh admin@atlantis.vish.local

# Synology storage manager
sudo syno-storage-usage -a

# Or via Docker
docker system df
```

### View Logs
```bash
# Specific service
docker logs vaultwarden

# Follow logs
docker logs -f vaultwarden
```

---

## Common Issues

### Service Won't Start
1. Check if port is already in use: `netstat -tulpn | grep <port>`
2. Check logs: `docker logs <container>`
3. Verify volume paths exist
4. Restart Docker: `sudo systemctl restart docker`

### Storage Full
1. Identify large files: `docker system df -v`
2. Clean Docker: `docker system prune -a`
3. Check Synology Storage Analyzer
4. Archive old media files

### Performance Issues
1. Check resource usage: `docker stats`
2. Review Plex transcode logs
3. Check RAID health: `sudo mdadm --detail /dev/md0`

---

## Maintenance

### Weekly
- [ ] Verify backup completion
- [ ] Check disk health (S.M.A.R.T.)
- [ ] Review Watchtower updates
- [ ] Check Plex library integrity

### Monthly
- [ ] Run Docker cleanup
- [ ] Update Docker Compose files
- [ ] Review storage usage trends
- [ ] Check security updates

### Quarterly
- [ ] Deep clean unused images/containers
- [ ] Review service dependencies
- [ ] Test disaster recovery
- [ ] Update documentation

---

## Backup Procedures

### Configuration Backup
```bash
# Via Ansible
ansible-playbook ansible/automation/playbooks/backup_configs.yml --tags atlantis
```

### Data Backup
- Synology Hyper Backup to external drive
- Cloud sync to Backblaze B2
- Critical configs to Git repository

### Verification
```bash
ansible-playbook ansible/automation/playbooks/backup_verification.yml
```

---

## Emergency Procedures

### Complete Outage
1. Verify Synology is powered on
2. Check network connectivity
3. Access via DSM: `https://atlantis.vish.local:5001`
4. Check Storage Manager for RAID status
5. Contact via serial if no network

### RAID Degraded
1. Identify failed drive via Storage Manager
2. Power down and replace drive
3. Rebuild will start automatically
4. Monitor rebuild progress

### Data Recovery
See [Disaster Recovery Guide](../troubleshooting/disaster-recovery.md)

---

## Useful Commands

```bash
# SSH access
ssh admin@atlantis.vish.local

# Container management
cd /volume1/docker/compose/<service>
docker-compose restart <service>

# View all containers
docker ps -a --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"

# Logs for critical services
docker logs vaultwarden
docker logs plex
docker logs immich
```

---

## Links

- [Synology DSM](https://atlantis.vish.local:5001)
- [Portainer](http://atlantis.vish.local:9000)
- [Vaultwarden](http://atlantis.vish.local:8080)
- [Plex](http://atlantis.vish.local:32400)
- [Immich](http://atlantis.vish.local:2283)
