feat: add automation and inspection scripts for Nginx Proxy Manager and Authentik integration

This commit is contained in:
2026-11-12 17:08:14 -05:00
parent 5a70460e89
commit 113ebdc7c5
8 changed files with 262 additions and 7 deletions

View File

@@ -0,0 +1,35 @@
import paramiko
c = paramiko.SSHClient()
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
c.connect("140.44.4.71", username="root", key_filename=r'C:\Users\Snarf\.ssh\id_ed25519_snarfnet', timeout=10)
# Create /data/topology directory on host
c.exec_command("mkdir -p /var/lib/docker/volumes/nginx-proxy-manager_nginx-data/_data/topology")
# Read topology files locally
with open('docs/snarfnet_homelab_topology.html', 'r', encoding='utf-8') as f:
html_data = f.read()
with open('docs/snarfnet_homelab_topology.png', 'rb') as f:
png_data = f.read()
# Send html
stdin, stdout, stderr = c.exec_command("cat > /var/lib/docker/volumes/nginx-proxy-manager_nginx-data/_data/topology/snarfnet_homelab_topology.html")
stdin.write(html_data)
stdin.close()
stdout.read()
# Send png
stdin, stdout, stderr = c.exec_command("cat > /var/lib/docker/volumes/nginx-proxy-manager_nginx-data/_data/topology/snarfnet_homelab_topology.png")
stdin.write(png_data)
stdin.close()
stdout.read()
# Verify files inside NPM container
cmd = "docker exec $(docker ps -q --filter name=nginx-proxy-manager_app) ls -la /data/topology"
_, o, e = c.exec_command(cmd)
print("Files inside NPM container at /data/topology:\n" + o.read().decode())
print("Stderr:\n" + e.read().decode())
c.close()