Files
HomeAudit/stacks
admin 45363040f3 feat: Complete infrastructure cleanup phase documentation and status updates
## Major Infrastructure Milestones Achieved

###  Service Migrations Completed
- Jellyfin: Successfully migrated to Docker Swarm with latest version
- Vaultwarden: Running in Docker Swarm on OMV800 (eliminated duplicate)
- Nextcloud: Operational with database optimization and cron setup
- Paperless services: Both NGX and AI running successfully

### 🚨 Duplicate Service Analysis Complete
- Identified MariaDB conflict (OMV800 Swarm vs lenovo410 standalone)
- Identified Vaultwarden duplication (now resolved)
- Documented PostgreSQL and Redis consolidation opportunities
- Mapped monitoring stack optimization needs

### 🏗️ Infrastructure Status Documentation
- Updated README with current cleanup phase status
- Enhanced Service Analysis with duplicate service inventory
- Updated Quick Start guide with immediate action items
- Documented current container distribution across 6 nodes

### 📋 Action Plan Documentation
- Phase 1: Immediate service conflict resolution (this week)
- Phase 2: Service migration and load balancing (next 2 weeks)
- Phase 3: Database consolidation and optimization (future)

### 🔧 Current Infrastructure Health
- Docker Swarm: All 6 nodes operational and healthy
- Caddy Reverse Proxy: Fully operational with SSL certificates
- Storage: MergerFS healthy, local storage for databases
- Monitoring: Prometheus + Grafana + Uptime Kuma operational

### 📊 Container Distribution Status
- OMV800: 25+ containers (needs load balancing)
- lenovo410: 9 containers (cleanup in progress)
- fedora: 1 container (ready for additional services)
- audrey: 4 containers (well-balanced, monitoring hub)
- lenovo420: 7 containers (balanced, can assist)
- surface: 9 containers (specialized, reverse proxy)

### 🎯 Next Steps
1. Remove lenovo410 MariaDB (eliminate port 3306 conflict)
2. Clean up lenovo410 Vaultwarden (256MB space savings)
3. Verify no service conflicts exist
4. Begin service migration from OMV800 to fedora/audrey

Status: Infrastructure 99% complete, entering cleanup and optimization phase
2025-09-01 16:50:37 -04:00
..

Stacks Overview

This directory contains Docker Swarm stack files for the new architecture.

Prerequisites

  • Overlay networks (create once on the manager):
    • traefik-public
    • database-network
    • monitoring-network
docker network create --driver overlay --attachable traefik-public
docker network create --driver overlay --attachable database-network
docker network create --driver overlay --attachable monitoring-network
  • Docker secrets (examples):
printf 'StrongPostgresRoot' | docker secret create pg_root_password -
printf 'StrongMariaRoot'   | docker secret create mariadb_root_password -
printf 'gitea-db-pass'     | docker secret create gitea_db_password -
printf 'nextcloud-pass'    | docker secret create nextcloud_db_password -
printf 'smtp-user'         | docker secret create smtp_user -
printf 'smtp-pass'         | docker secret create smtp_pass -
printf 'postgres://user:pass@postgresql_primary:5432/db' | docker secret create appflowy_db_url -
printf 'minioadmin'        | docker secret create minio_access_key -
printf 'minioadminsecret'  | docker secret create minio_secret_key -
  • NFS exports on omv800.local matching the driver_opts in stack volumes.

Deploy examples

docker stack deploy -c stacks/core/traefik.yml traefik
docker stack deploy -c stacks/databases/postgresql-primary.yml postgresql
docker stack deploy -c stacks/databases/mariadb-primary.yml mariadb
docker stack deploy -c stacks/databases/redis-cluster.yml redis

docker stack deploy -c stacks/apps/homeassistant.yml homeassistant
docker stack deploy -c stacks/apps/immich.yml immich
docker stack deploy -c stacks/apps/nextcloud.yml nextcloud
docker stack deploy -c stacks/apps/paperless.yml paperless
docker stack deploy -c stacks/apps/jellyfin.yml jellyfin

docker stack deploy -c stacks/apps/gitea.yml gitea
docker stack deploy -c stacks/apps/appflowy.yml appflowy
docker stack deploy -c stacks/apps/vaultwarden.yml vaultwarden
docker stack deploy -c stacks/apps/adguard.yml adguard

docker stack deploy -c stacks/web/caddy.yml caddy
docker stack deploy -c stacks/ai/ollama.yml ollama

docker stack deploy -c stacks/monitoring/netdata.yml netdata

Notes

  • Pin image versions and avoid :latest in production.
  • Use DNS or host pinning for stateful services.
  • Consider placement constraints (node.labels.role).