🚀 YOLO HODL

Infrastructure dashboard — requires WireGuard for internal links — How it works →

Management
🔐

HashiCorp Vault

vault.yolohodl.internal:8200

Secrets & KV store. Stores TLS certificates at certificates/data/data/<domain>. AppRole auth enabled for Traefik.

VPN only TLS
🐳

Portainer CE

jump.yolohodl.internal:9443

Docker container management UI. Portainer agent deployed globally across all swarm nodes on port 9001.

VPN only
📦

Docker Registry UI

jump.yolohodl.internal:8082

Joxit registry UI fronting the private Docker registry on port 5000. Browse images, tags, and digests. Delete images enabled.

VPN only
🔀

Traefik Dashboard

10.10.99.11:8080 — /dashboard/

Live view of Traefik routers, services, middlewares, and TLS config. Any node works: :11, :12, or :13.

VPN only
Ingress & TLS
🔀

Traefik v3.6.11

All nodes — ports 80 & 443 (host mode)

Runs as a global service on every swarm node. Terminates TLS using certificates rendered from Vault. HTTP → HTTPS redirect enabled. Uses file provider watching /certs/tls.yml.

Public Global
🤖

Vault Agent Sidecar

All nodes — hashicorp/vault:1.17

Runs as a global service alongside Traefik. Authenticates via AppRole (traefik role), lists certificates/metadata/data/, writes .crt / .key pairs and tls.yml to the shared cert-shared-vol every 5 minutes.

Internal Global
Infrastructure
🔀

Jump Server

10.10.99.2 — jump.yolohodl.internal

WireGuard VPN gateway, NAT router, and Docker host for Vault, Portainer & Registry. Serves internal DNS for yolohodl.internal via Technitium DNS Server.

VPN only
🌐

Technitium DNS

jump.yolohodl.internal:5380

Internal DNS server for yolohodl.internal. Authoritative for all internal hosts, forwards public queries to 1.1.1.1. Admin password in /root/.technitium_admin_pass.

VPN only
⚖️

Load Balancer

49.13.44.215 — lb.yolohodl.internal

Hetzner LB — TCP passthrough to swarm nodes on ports 80 & 443.

Public
Docker Swarm Nodes (task-history-limit: 1)
🖥️

web-1

10.10.99.11 — Swarm Leader

Docker Swarm manager node. Runs Traefik, Vault Agent, Portainer Agent.

VPN only
🖥️

web-2

10.10.99.12 — Swarm Manager

Docker Swarm manager node. Runs Traefik, Vault Agent, Portainer Agent.

VPN only
🖥️

web-3

10.10.99.13 — Swarm Manager

Docker Swarm manager node. Runs Traefik, Vault Agent, Portainer Agent.

VPN only
Databases
🍃

MongoDB 8.0

10.10.99.21 — mongo.yolohodl.internal

Standalone MongoDB instance. Port 27017, private network only.

VPN only
🐘

PostgreSQL 17

10.10.99.22 — postgres.yolohodl.internal

Standalone PostgreSQL instance. Port 5432, private network only. Auth: scram-sha-256.

VPN only