Add services.json — structured inventory of all containers, VMs and planned services
This commit is contained in:
parent
fa731324dc
commit
d8cd933c9b
197
services.json
Normal file
197
services.json
Normal file
@ -0,0 +1,197 @@
|
|||||||
|
{
|
||||||
|
"updated": "2026-06-15",
|
||||||
|
"services": [
|
||||||
|
{
|
||||||
|
"ct": 100,
|
||||||
|
"hostname": "n8n",
|
||||||
|
"ip": "192.168.1.29",
|
||||||
|
"domain": "automation.spendlik.sk",
|
||||||
|
"purpose": "Workflow automation",
|
||||||
|
"stack": "npm global install",
|
||||||
|
"version": "2.25.7",
|
||||||
|
"port": 5678,
|
||||||
|
"auth": "Authelia",
|
||||||
|
"doc": "none"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ct": 101,
|
||||||
|
"hostname": "reverse-proxy",
|
||||||
|
"ip": "192.168.1.10",
|
||||||
|
"domain": null,
|
||||||
|
"purpose": "nginx reverse proxy for all services",
|
||||||
|
"stack": "nginx + certbot",
|
||||||
|
"port": 80,
|
||||||
|
"auth": "none",
|
||||||
|
"doc": "none",
|
||||||
|
"notes": "Always inspect nginx configs after certbot runs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ct": 102,
|
||||||
|
"hostname": "authelia",
|
||||||
|
"ip": "192.168.1.50",
|
||||||
|
"domain": "auth.spendlik.sk",
|
||||||
|
"purpose": "SSO / 2FA gateway",
|
||||||
|
"stack": "Authelia",
|
||||||
|
"port": 9091,
|
||||||
|
"auth": "self",
|
||||||
|
"doc": "none"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ct": 103,
|
||||||
|
"hostname": "matrix-synapse",
|
||||||
|
"ip": "192.168.1.60",
|
||||||
|
"domain": "matrix.spendlik.sk",
|
||||||
|
"purpose": "Self-hosted Matrix messaging",
|
||||||
|
"stack": "Matrix Synapse",
|
||||||
|
"port": 8448,
|
||||||
|
"auth": "native",
|
||||||
|
"doc": "none"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ct": 104,
|
||||||
|
"hostname": "snappymail",
|
||||||
|
"ip": "192.168.1.55",
|
||||||
|
"domain": "email.spendlik.sk",
|
||||||
|
"purpose": "Webmail client",
|
||||||
|
"stack": "SnappyMail",
|
||||||
|
"port": 80,
|
||||||
|
"auth": "Authelia",
|
||||||
|
"doc": "none"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ct": 105,
|
||||||
|
"hostname": "audiobookshelf",
|
||||||
|
"ip": "192.168.1.70",
|
||||||
|
"domain": "books.spendlik.sk",
|
||||||
|
"purpose": "Ebooks and audiobooks",
|
||||||
|
"stack": "Audiobookshelf",
|
||||||
|
"port": 80,
|
||||||
|
"auth": "native",
|
||||||
|
"doc": "04_audiobookshelf_deployment.md",
|
||||||
|
"notes": "NAS bind mount for media library"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ct": 106,
|
||||||
|
"hostname": "jellyfin",
|
||||||
|
"ip": "192.168.1.75",
|
||||||
|
"domain": "jellyfin.spendlik.sk",
|
||||||
|
"purpose": "Media server",
|
||||||
|
"stack": "Jellyfin",
|
||||||
|
"port": 8096,
|
||||||
|
"auth": "native",
|
||||||
|
"doc": "05_jellyfin_deployment.md",
|
||||||
|
"notes": "NAS NFS mount for media"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ct": 107,
|
||||||
|
"hostname": "wireguard",
|
||||||
|
"ip": "192.168.1.80",
|
||||||
|
"domain": null,
|
||||||
|
"purpose": "VPN",
|
||||||
|
"stack": "WireGuard",
|
||||||
|
"port": 51820,
|
||||||
|
"protocol": "UDP",
|
||||||
|
"auth": "key-based",
|
||||||
|
"doc": "06_wireguard_deployment.md",
|
||||||
|
"notes": "Mobile client on Galaxy S25. Endpoint still raw IP — vpn.spendlik.sk DDNS fix pending."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ct": 108,
|
||||||
|
"hostname": "ddns",
|
||||||
|
"ip": "192.168.1.95",
|
||||||
|
"domain": null,
|
||||||
|
"purpose": "WebSupport DDNS updater",
|
||||||
|
"stack": "bash script + cron",
|
||||||
|
"script": "/usr/local/bin/ddns-update.sh",
|
||||||
|
"auth": "WebSupport API v2 HMAC-SHA1",
|
||||||
|
"doc": "10_ddns_deployment.md"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ct": 109,
|
||||||
|
"hostname": "gitea",
|
||||||
|
"ip": "192.168.1.90",
|
||||||
|
"domain": "git.spendlik.sk",
|
||||||
|
"purpose": "Self-hosted Git",
|
||||||
|
"stack": "Gitea binary",
|
||||||
|
"version": "1.22.6",
|
||||||
|
"port": 3000,
|
||||||
|
"auth": "native + token",
|
||||||
|
"doc": "11_gitea_deployment.md",
|
||||||
|
"notes": "Code indexer enabled (bleve). startup order=6."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ct": 110,
|
||||||
|
"hostname": "windows11",
|
||||||
|
"type": "vm",
|
||||||
|
"ip": "192.168.1.227",
|
||||||
|
"domain": null,
|
||||||
|
"purpose": "Windows 11 VM with GPU passthrough",
|
||||||
|
"stack": "Windows 11 + RTX 4060 Ti passthrough + Sunshine",
|
||||||
|
"auth": "Windows login",
|
||||||
|
"doc": "09_gpu_setup.md",
|
||||||
|
"notes": "Backup weekly Sunday, keep-last=2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ct": 111,
|
||||||
|
"hostname": "paperless",
|
||||||
|
"ip": "192.168.1.111",
|
||||||
|
"domain": "paperless.spendlik.sk",
|
||||||
|
"purpose": "Document management with OCR",
|
||||||
|
"stack": "Docker Compose — paperless-ngx + PostgreSQL 16 + Redis 7",
|
||||||
|
"compose": "/opt/paperless/docker-compose.yml",
|
||||||
|
"port": 8000,
|
||||||
|
"auth": "native",
|
||||||
|
"doc": "none",
|
||||||
|
"notes": "media + data volumes on NAS (/mnt/paperless/). consume dir: /mnt/paperless/consume. 6-language OCR: slk+ces+rus+hun+deu+eng. RAM: 8GB (bumped for heavy OCR)."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ct": 112,
|
||||||
|
"hostname": "mcp-server",
|
||||||
|
"ip": "192.168.1.100",
|
||||||
|
"domain": "mcp.spendlik.sk",
|
||||||
|
"purpose": "MCP bridge for Claude AI",
|
||||||
|
"stack": "Node.js + @modelcontextprotocol/sdk",
|
||||||
|
"dir": "/opt/mcp-server",
|
||||||
|
"port": 3500,
|
||||||
|
"auth": "none (LAN only)",
|
||||||
|
"doc": "none"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ct": 115,
|
||||||
|
"hostname": "vaultwarden",
|
||||||
|
"ip": "192.168.1.115",
|
||||||
|
"domain": "vault.spendlik.sk",
|
||||||
|
"purpose": "Password manager (Bitwarden-compatible)",
|
||||||
|
"stack": "Docker Compose — vaultwarden/server",
|
||||||
|
"compose": "/opt/vaultwarden/docker-compose.yml",
|
||||||
|
"port": 8080,
|
||||||
|
"auth": "native",
|
||||||
|
"doc": "13_vaultwarden_deployment.md",
|
||||||
|
"notes": "Signups disabled after initial account creation"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"planned": [
|
||||||
|
{
|
||||||
|
"ct": 113,
|
||||||
|
"hostname": "bambuddy",
|
||||||
|
"ip": "192.168.1.113",
|
||||||
|
"domain": "bambuddy.spendlik.sk",
|
||||||
|
"purpose": "Bambu A1 management (BAMbuddy)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ct": 114,
|
||||||
|
"hostname": "euro-office",
|
||||||
|
"ip": "192.168.1.114",
|
||||||
|
"domain": "office.spendlik.sk",
|
||||||
|
"purpose": "Online office suite (Euro-Office Docker)",
|
||||||
|
"doc": "12_euro_office_deployment.md"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ct": 116,
|
||||||
|
"hostname": "bookmark-manager",
|
||||||
|
"ip": "192.168.1.116",
|
||||||
|
"domain": "bookmarks.spendlik.sk",
|
||||||
|
"purpose": "Bookmark manager (Linkding / Hoarder / Shiori — TBD)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user