Home Server Chronicles: My Docker-Powered Ecosystem — Part 3
Exploring the infrastructure layer that keeps everything running: Portainer for container management, VS Code Server for development, monitoring with Netdata, and robust backup strategies.
Welcome to Part 3 of my Home Server Chronicles! In the previous parts, we covered the overall architecture and the core security services. Now, let's dive into the infrastructure layer — the tools and services that keep everything running smoothly, provide monitoring, and ensure your data stays safe.
This layer consists of:
Portainer — Container management with a beautiful web UI
VS Code Server — Cloud-based development environment
Netdata — Real-time system monitoring and alerting
Watchtower — Automated container updates
Backup Strategy — Protecting your data and configurations
Portainer: Container Management Made Beautiful
Why Portainer Over Docker CLI?
While I'm comfortable with Docker CLI, Portainer provides several advantages for day-to-day management:
Visual Interface: See all containers, images, and networks at a glance
Resource Monitoring: Real-time CPU, memory, and network usage
Easy Configuration: Edit container settings without remembering CLI flags
Log Management: Browse logs with syntax highlighting and filtering
Quick Actions: Start, stop, restart, and update containers with one click
Watchtower uses label-based control (WATCHTOWER_LABEL_ENABLE=true) — only containers with the com.centurylinklabs.watchtower.enable=true label get updated. This prevents unwanted updates to pinned or custom-built images. Updates are polled every 6 hours.
Backup Strategy: Protecting Your Data
The 3-2-1 Backup Rule
I follow the 3-2-1 backup rule: 3 copies, 2 different media, 1 off-site location.
Primary Location: Beelink SER8 home server Off-site Backup: Oracle Cloud (OCI) VPS Local Storage: 932GB external SSD and 3.6TB internal NVMe
Provision new server (or use existing Oracle Cloud VPS)
Install Docker and dependencies
Restore from cloud backup stored on the VPS
Update DNS and certificates
Test all services
VPS as Hot Standby: In critical situations, the OCI VPS can serve as a temporary production environment while the home server is being repaired
Maintenance Tasks
Daily Tasks
Check Portainer dashboard for any failed containers
Review Netdata alerts and system health
Monitor backup job completion
Check for security updates
Weekly Tasks
Review and clean up old Docker images
Analyze resource usage trends
Test backup restoration procedures
Update documentation
Monthly Tasks
Review and rotate logs
Update base images and dependencies
Security audit of configurations
Performance optimization review
Benefits of This Infrastructure Layer
For Management
Centralized Control: Manage everything from Portainer
Visual Monitoring: See system health at a glance
Automated Maintenance: Updates and backups run automatically
Easy Troubleshooting: Comprehensive logging and monitoring
For Development
Cloud Development: Code from anywhere with VS Code Server
Integrated Environment: Direct access to Docker and services
Consistent Setup: Same environment across all devices
Quick Iteration: Fast build and test cycles
For Reliability
Proactive Monitoring: Catch issues before they become problems
Automated Recovery: Self-healing containers and services
Data Protection: Comprehensive backup strategy
Easy Rollbacks: Quick recovery from failed updates
What's Next?
In Part 4, we'll explore the Media Stack — the entertainment and content management services:
Jellyfin: Self-hosted media streaming
Sonarr/Radarr/Lidarr: Automated media management
Paperless-ngx: Document management and OCR
Navidrome: Music streaming and organization
Mobile Apps: Access your media anywhere
This infrastructure layer provides the foundation for reliable, manageable, and scalable services. With proper monitoring, automated updates, and robust backups, you can confidently run production-grade services in your home lab.