Personal infrastructure · self-hosted services · VPS relay
Internet
│
▼
┌─────────────────────────────────────────────────────┐
│ Nginx (80/443) · Let's Encrypt TLS │
│ │
│ lovelattice.net → /var/www/sites/landing/ │
│ cloud.lovelattice.net → 127.0.0.1:8088 (Docker) │
│ grocy.lovelattice.net → 127.0.0.1:9283 (Docker) │
│ vikunja.lovelattice.net → 127.0.0.1:3456 (Docker) │
│ openclaw.lovelattice.net → 127.0.0.1:18789 (Node) │
│ noctuafield.com → 127.0.0.1:3000 (Docker) │
└─────────────────────────────────────────────────────┘
│
├── Docker: nextcloud_app + nextcloud_db (postgres) + nextcloud_redis
├── Docker: grocy (linuxserver/grocy)
├── Docker: vikunja (vikunja/api + frontend)
├── Docker: barcodebuddy (port 8085, internal)
├── Docker: noctuafield (Next.js 14)
└── Host: openclaw (npm global, port 18789)
Infra: Ubuntu 22.04 LTS · 4GB RAM · 38GB disk · fail2ban · nordvpnd
Backups: restic → /var/backups/relay (manual / backup.sh)