Desde Proxmox VE 9.1, el propio storage de plantillas sabe descargar una imagen OCI (Docker Hub, GHCR, un registro privado) y convertirla en una plantilla de LXC, sin pasar por un daemon Docker ni reservar una VM entera para un servicio de un solo contenedor. Este stack usa esa vía para levantar Linkding, un gestor de marcadores autoalojado de una sola imagen, y lo pone detrás de Caddy para servirlo por HTTPS con certificado renovado solo.
App autoalojada sin Docker: imágenes OCI en LXC de Proxmox + Caddy con HTTPS automático
Objetivo
Publicar una app disponible como imagen de Docker Hub directamente en un LXC de Proxmox VE — sin VM ni daemon Docker de por medio — y servirla por HTTPS sin tocar certificados a mano.
Componentes
Base · Hipervisor
Servicio principal · Gestor de marcadores autoalojado
Linkding
Reverse proxy · HTTPS automático
Cómo se conecta

Haz clic para ampliar
Ensamblaje
Plantilla OCI de Linkding
En Datacenter → [nodo] → [storage con plantillas] → CT Templates → Pull from OCI Registry, se introduce la imagen oficial de Linkding:
sissbruecker/linkding:latest
Sin indicar registro delante del nombre, Proxmox la busca en Docker Hub por defecto.
Crear el LXC de Linkding
Se crea un CT nuevo a partir de esa plantilla con los recursos del componente (256 MB / 1 vCPU / 2 GB). Se monta un punto de almacenamiento persistente para la base de datos de Linkding en /etc/linkding/data — si no se separa del sistema de ficheros del contenedor, se pierden los marcadores si algún día se recrea el LXC.
Se asigna al LXC una IP fija dentro de la red interna, para que Caddy pueda apuntar a ella sin depender de DHCP.
Arrancar y comprobar Linkding en local
Se inicia el LXC y se comprueba que el servicio escucha en su puerto por defecto (9090) antes de exponer nada hacia fuera:
curl -I http://10.0.0.X:9090
Debería llegar una respuesta HTTP válida. Si no, conviene revisar los logs del LXC antes de seguir — añadir Caddy delante de un servicio roto solo complica el diagnóstico.
LXC de Caddy
Si no hay ya un Caddy corriendo en el homelab, se instala en su propio LXC ligero (puede ser un LXC de sistema clásico, no hace falta que sea OCI) y se define el bloque para Linkding en su Caddyfile:
marcadores.tudominio.es { reverse_proxy 10.0.0.X:9090 }DNS y HTTPS automático
Se apunta el subdominio (marcadores.tudominio.es) a la IP pública que llega hasta el LXC de Caddy — directamente si se expone a Internet, o a la IP interna si se accede solo vía VPN/WireGuard. Al reiniciar, Caddy pide y renueva el certificado TLS solo, sin tocar certbot ni ningún cronjob de renovación a mano.
Conclusión
Para comprobar que el stack funciona de extremo a extremo: entrar por HTTPS al subdominio y confirmar que el candado es válido, añadir un par de marcadores, y reiniciar el LXC de Linkding — si al volver a entrar los marcadores siguen ahí, la persistencia está bien montada y no solo el arranque.



