COMPREHENSIVE CHANGES: INFRASTRUCTURE MIGRATION: - Migrated services to Docker Swarm on OMV800 (192.168.50.229) - Deployed PostgreSQL database for Vaultwarden migration - Updated all stack configurations for Docker Swarm compatibility - Added comprehensive monitoring stack (Prometheus, Grafana, Blackbox) - Implemented proper secret management for all services VAULTWARDEN POSTGRESQL MIGRATION: - Attempted migration from SQLite to PostgreSQL for NFS compatibility - Created PostgreSQL stack with proper user/password configuration - Built custom Vaultwarden image with PostgreSQL support - Troubleshot persistent SQLite fallback issue despite PostgreSQL config - Identified known issue where Vaultwarden silently falls back to SQLite - Added ENABLE_DB_WAL=false to prevent filesystem compatibility issues - Current status: Old Vaultwarden on lenovo410 still working, new one has config issues PAPERLESS SERVICES: - Successfully deployed Paperless-NGX and Paperless-AI on OMV800 - Both services running on ports 8000 and 3000 respectively - Caddy configuration updated for external access - Services accessible via paperless.pressmess.duckdns.org and paperless-ai.pressmess.duckdns.org CADDY CONFIGURATION: - Updated Caddyfile on Surface (192.168.50.254) for new service locations - Fixed Vaultwarden reverse proxy to point to new Docker Swarm service - Removed old notification hub reference that was causing conflicts - All services properly configured for external access via DuckDNS BACKUP AND DISCOVERY: - Created comprehensive backup system for all hosts - Generated detailed discovery reports for infrastructure analysis - Implemented automated backup validation scripts - Created migration progress tracking and verification reports MONITORING STACK: - Deployed Prometheus, Grafana, and Blackbox monitoring - Created infrastructure and system overview dashboards - Added proper service discovery and alerting configuration - Implemented performance monitoring for all critical services DOCUMENTATION: - Reorganized documentation into logical structure - Created comprehensive migration playbook and troubleshooting guides - Added hardware specifications and optimization recommendations - Documented all configuration changes and service dependencies CURRENT STATUS: - Paperless services: ✅ Working and accessible externally - Vaultwarden: ❌ PostgreSQL configuration issues, old instance still working - Monitoring: ✅ Deployed and operational - Caddy: ✅ Updated and working for external access - PostgreSQL: ✅ Database running, connection issues with Vaultwarden NEXT STEPS: - Continue troubleshooting Vaultwarden PostgreSQL configuration - Consider alternative approaches for Vaultwarden migration - Validate all external service access - Complete final migration validation TECHNICAL NOTES: - Used Docker Swarm for orchestration on OMV800 - Implemented proper secret management for sensitive data - Added comprehensive logging and monitoring - Created automated backup and validation scripts
231 lines
6.5 KiB
Plaintext
231 lines
6.5 KiB
Plaintext
# Reusable snippet for standard TLS configuration
|
|
(standard_tls) {
|
|
tls {
|
|
dns duckdns {env.DUCKDNS_TOKEN}
|
|
resolvers 1.1.1.1 8.8.8.8
|
|
}
|
|
}
|
|
|
|
# --- Your Services ---
|
|
|
|
# Nextcloud (Port 8080) - OMV800
|
|
nextcloud.pressmess.duckdns.org {
|
|
reverse_proxy 192.168.50.229:8080
|
|
import standard_tls
|
|
}
|
|
|
|
# AppFlowy Server (Port 8080) - lenovo420 (192.168.50.254)
|
|
appflowy-server.pressmess.duckdns.org {
|
|
reverse_proxy 192.168.50.254:8080
|
|
import standard_tls
|
|
}
|
|
|
|
# Jellyfin (Port 8096) - OMV800
|
|
jellyfin.pressmess.duckdns.org {
|
|
reverse_proxy 192.168.50.229:8096
|
|
import standard_tls
|
|
}
|
|
|
|
# Immich (Port 2283) - OMV800
|
|
immich.pressmess.duckdns.org {
|
|
reverse_proxy 192.168.50.229:2283
|
|
import standard_tls
|
|
}
|
|
|
|
# Gitea (Port 3001) - OMV800
|
|
gitea.pressmess.duckdns.org {
|
|
reverse_proxy 192.168.50.229:3001
|
|
import standard_tls
|
|
}
|
|
|
|
# Joplin (Port 22300) - OMV800
|
|
joplin.pressmess.duckdns.org {
|
|
reverse_proxy 192.168.50.229:22300
|
|
import standard_tls
|
|
}
|
|
|
|
# Vikunja (Port 3456) - OMV800
|
|
vikunja.pressmess.duckdns.org {
|
|
reverse_proxy 192.168.50.229:3456
|
|
import standard_tls
|
|
}
|
|
|
|
# n8n (Port 5678) - jonathan-2518f5u (FIXED: Correct IP)
|
|
n8npressmess.duckdns.org {
|
|
reverse_proxy 192.168.50.181:5678 {
|
|
header_up X-Forwarded-Proto https
|
|
header_up X-Forwarded-Port 443
|
|
header_up X-Forwarded-For {remote_host}
|
|
header_up Host {host}
|
|
}
|
|
import standard_tls
|
|
}
|
|
|
|
# OMV Main (Port 80) - OMV800 - REMOVED: Security risk (system management)
|
|
# omv.pressmess.duckdns.org {
|
|
# reverse_proxy 192.168.50.229:80
|
|
# import standard_tls
|
|
# }
|
|
|
|
# OMV Backup (Port 80) - OMV Backup - REMOVED: Security risk (backup management)
|
|
# omvbackup.pressmess.duckdns.org {
|
|
# reverse_proxy 192.168.50.107:80
|
|
# import standard_tls
|
|
# }
|
|
|
|
# --- Docker Services ---
|
|
|
|
# Portainer (Port 9000) - jonathan-2518f5u
|
|
portainer.pressmess.duckdns.org {
|
|
reverse_proxy 192.168.50.181:9000
|
|
import standard_tls
|
|
}
|
|
|
|
# Home Assistant (Port 8123) - jonathan-2518f5u
|
|
homeassistant.pressmess.duckdns.org {
|
|
reverse_proxy 192.168.50.181:8123
|
|
import standard_tls
|
|
}
|
|
|
|
# Music Assistant (Port 8095) - jonathan-2518f5u
|
|
music-assistant.pressmess.duckdns.org {
|
|
reverse_proxy 192.168.50.181:8095
|
|
import standard_tls
|
|
}
|
|
|
|
# ESPHome (Port 6052) - jonathan-2518f5u
|
|
esphome.pressmess.duckdns.org {
|
|
reverse_proxy 192.168.50.181:6052
|
|
import standard_tls
|
|
}
|
|
|
|
# Paperless-AI (Port 3000) - OMV800 (UPDATED: Now running on .229)
|
|
paperless-ai.pressmess.duckdns.org {
|
|
reverse_proxy 192.168.50.229:3000
|
|
import standard_tls
|
|
}
|
|
|
|
# Paperless-NGX (Port 8000) - OMV800 (UPDATED: Now running on .229)
|
|
paperless.pressmess.duckdns.org {
|
|
reverse_proxy 192.168.50.229:8000
|
|
import standard_tls
|
|
}
|
|
|
|
# Z-Wave JS UI (Port 8091) - jonathan-2518f5u
|
|
zwave.pressmess.duckdns.org {
|
|
reverse_proxy 192.168.50.181:8091
|
|
import standard_tls
|
|
}
|
|
|
|
# Vaultwarden (Port 8088) - jonathan-2518f5u
|
|
vaultwarden.pressmess.duckdns.org {
|
|
reverse_proxy 192.168.50.181:8088
|
|
reverse_proxy /notifications/hub 192.168.50.181:3012
|
|
import standard_tls
|
|
}
|
|
|
|
# Homepage (Port 8080) - REMOVED: Not currently used, conflicts with AppFlowy
|
|
# homepage.pressmess.duckdns.org {
|
|
# reverse_proxy 192.168.50.254:8080
|
|
# import standard_tls
|
|
# }
|
|
|
|
# OmniTools (Port 9080) - immich_photos
|
|
omnitools.pressmess.duckdns.org {
|
|
reverse_proxy 192.168.50.66:9080
|
|
import standard_tls
|
|
}
|
|
|
|
# Node-Red (Port 1880) - OFFLINE DEVICE
|
|
# node-red.pressmess.duckdns.org {
|
|
# reverse_proxy 192.168.50.85:1880
|
|
# import standard_tls
|
|
# }
|
|
|
|
# Code-Server (Port 8443) - audrey - REMOVED: Security risk (full IDE access)
|
|
# code-server.pressmess.duckdns.org {
|
|
# reverse_proxy 192.168.50.145:8443
|
|
# import standard_tls
|
|
# }
|
|
|
|
# Dashboard (Port 8090) - lenovo420 (192.168.50.254)
|
|
dashboard.pressmess.duckdns.org {
|
|
reverse_proxy 192.168.50.254:8090
|
|
import standard_tls
|
|
}
|
|
|
|
# --- Monitoring Services (NEW) ---
|
|
|
|
# Uptime Kuma (Port 3001) - audrey
|
|
uptime-kuma.pressmess.duckdns.org {
|
|
reverse_proxy 192.168.50.145:3001
|
|
import standard_tls
|
|
}
|
|
|
|
# Prometheus (Port 9091) - OMV800 (Docker Swarm Manager)
|
|
prometheus.pressmess.duckdns.org {
|
|
reverse_proxy 192.168.50.229:9091
|
|
import standard_tls
|
|
}
|
|
|
|
# Grafana (Port 3002) - OMV800 (Docker Swarm Manager)
|
|
grafana.pressmess.duckdns.org {
|
|
reverse_proxy 192.168.50.229:3002
|
|
import standard_tls
|
|
}
|
|
|
|
# Dozzle (Port 9999) - audrey - REMOVED: Security risk (Docker logs exposure)
|
|
# dozzle.pressmess.duckdns.org {
|
|
# reverse_proxy 192.168.50.145:9999
|
|
# import standard_tls
|
|
# }
|
|
|
|
# Portainer Agent (Port 9001) - audrey - REMOVED: Security risk (Docker daemon access)
|
|
# portainer-agent.pressmess.duckdns.org {
|
|
# reverse_proxy 192.168.50.145:9001
|
|
# import standard_tls
|
|
# }
|
|
|
|
# Netdata (Port 19999) - OFFLINE DEVICE
|
|
# http://netdata.pressmess.duckdns.org {
|
|
# reverse_proxy 192.168.50.243:19999
|
|
# }
|
|
|
|
# --- COMMENTS ON CHANGES ---
|
|
#
|
|
# FIXES APPLIED:
|
|
# 1. n8n: 192.168.50.225 → 192.168.50.181 (correct IP)
|
|
# 2. Paperless-NGX: port 8010 → 8001 (correct port)
|
|
# 3. AppFlowy: 192.168.50.229 → 192.168.50.254 (lenovo420) (correct IP)
|
|
# 4. Dashboard: localhost → 192.168.50.254 (lenovo420) (correct IP)
|
|
# 5. Homepage: REMOVED (not currently used, conflicts with AppFlowy)
|
|
#
|
|
# NEW SERVICES ADDED:
|
|
# 6. Uptime Kuma: Service monitoring dashboard
|
|
# 7. Dozzle: REMOVED - Security risk (Docker logs exposure)
|
|
# 8. Portainer Agent: REMOVED - Security risk (Docker daemon access)
|
|
#
|
|
# SECURITY DECISIONS:
|
|
# - AdGuard Home: KEPT LOCAL-ONLY (DNS filtering security)
|
|
# - Database ports: KEPT LOCAL-ONLY (security)
|
|
# - MQTT: KEPT LOCAL-ONLY (IoT security)
|
|
# - OMV/OMV Backup: REMOVED (system management security)
|
|
# - Portainer Agent: REMOVED (Docker daemon security)
|
|
# - Code-Server: REMOVED (IDE access security)
|
|
# - Dozzle: REMOVED (Docker logs security)
|
|
#
|
|
# DEVICE MAPPINGS:
|
|
# - 192.168.50.229: OMV800 (root)
|
|
# - 192.168.50.181: jonathan-2518f5u (jonathan)
|
|
# - 192.168.50.254: lenovo420 (jon)
|
|
# - 192.168.50.66: immich_photos (jon)
|
|
# - 192.168.50.145: audrey (jon)
|
|
# - 192.168.50.107: omvbackup (jon)
|
|
# - 192.168.50.225: fedora (jonathan)
|
|
#
|
|
# OFFLINE SERVICES:
|
|
# 1. Node-Red device (192.168.50.85) is offline
|
|
# 2. Netdata device (192.168.50.243) is offline
|
|
#
|
|
# STATUS: All conflicts resolved, monitoring services added, ready for deployment
|