Self-hosting guides

Recipes for running open-source nutrition apps on hardware you control. Most assume Docker. Some go deeper.

#proxmox#lxc#vm

Proxmox VM vs LXC vs bare metal for the nutrition stack

Benchmarks of OFF mirror queries, Postgres restores, and Caddy throughput across Proxmox VMs, Proxmox LXCs, and bare-metal Debian. LXCs win the price-performance game by a comfortable margin.

#nginx#certbot#tls

Dockerized nginx with Let's Encrypt for self-hosted nutrition apps

An nginx + certbot Docker stack with auto-renew, OCSP stapling, modern TLS settings, and a sane upstream config for OpenNutriTracker companion services and OFF mirrors.

#tailscale#wireguard#vpn

Tailscale (and WireGuard) for accessing your self-hosted tracker on mobile

Tailscale gets you point-to-point WireGuard between your phone and your homelab in five minutes. We compare it to plain WireGuard, set up MagicDNS, and make Caddy issue real LAN certs.

#backups#borg#restic

Backups and restore for self-hosted nutrition data

Why your calorie diary deserves a real backup, what to back up, where to put it, and how to test that the restore works. Borgmatic + restic + a one-page Ansible playbook.

#vps#hetzner#homelab

Personal VPS vs homelab for a nutrition stack

If you don't want a Pi at home, a $4/mo Hetzner CX22 will run the whole nutrition stack with room to spare. We work through the trade-offs against a Pi 5 and a used SFF Lenovo.

#raspberry-pi#k3s#kubernetes

A Raspberry Pi 5 nutrition stack with k3s

A complete stack for a Pi 5 running k3s: an OFF mirror, a Postgres-backed USDA cache, and a Caddy ingress. Boot-to-services takes about four minutes. Boot-from-cold-after-a-power-cut takes about six.

#caddy#foodvore#self-hosting

Caddy reverse proxy in front of Foodvore for LAN-only access

Foodvore runs an embedded HTTP server when launched in companion mode. We put a Caddy reverse proxy in front of it for HTTPS, basic auth, and a stable LAN URL.

#docker#opennutritracker#self-hosting

Self-hosting OpenNutriTracker companion services with Docker

How to run a local Open Food Facts mirror and a backup-target service for OpenNutriTracker on a small Docker host. Compose file, reverse proxy notes, restore drill.