Sanitized mirror from private repository - 2026-04-20 01:24:42 UTC
This commit is contained in:
228
docs/infrastructure/hosts/atlantis-runbook.md
Normal file
228
docs/infrastructure/hosts/atlantis-runbook.md
Normal file
@@ -0,0 +1,228 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user