svc-portainer¶
A. Identidad¶
- service_id:
svc-portainer - nombre: Portainer
- estado: activo al
2026-05-31 - owner: Gabi
- criticidad: media-alta
- fecha de alta:
preexistente a OpenClaw - ultima revision:
2026-06-01
B. Proposito¶
- resumen funcional: consola de administracion Docker y stacks del VPS.
- rol dentro del VPS: interfaz operativa para inspeccion y administracion.
- por que existe: reduce friccion operativa para revisar contenedores, redes, volumenes y stacks.
C. Ubicacion¶
- path VPS:
contenedor standalone con volumen Docker - path repo/docs:
docs/governance/services/svc-portainer.md - compose file: no corre como Compose activo; conserva metadata legacy en
portainer_data_new/_data/compose/2/docker-compose.yml .envreal: no aplica en el estado conocido actual- archivos criticos:
/var/lib/docker/volumes/portainer_data_new/_data/var/lib/docker/volumes/portainer_data_new/_data/compose/2/docker-compose.yml/var/run/docker.sockportainer.dbdentro del volumen activo
D. Docker¶
- stack: standalone con metadata legacy de stack
portainer - container names:
portainer- image/tag:
portainer/portainer-ce:2.39.2 - restart policy:
unless-stopped - healthcheck:
pendiente de validar si existe healthcheck Docker declarativo - networks:
proxy-networkportainer2_defaultcomo legado sin contenedores- volumes:
portainer_data_newportainer_datalegado conservado- bind mounts:
/var/run/docker.sock:/var/run/docker.sock- exposed ports:
8000/tcp9443/tcp- published ports:
8000:80009443:9443- internal ports:
8000/tcp9443/tcp
E. Red¶
- redes Docker:
proxy-networkportainer2_defaultlegado sin contenedores- red publica/proxy: acceso HTTPS local validado y dominio publico real
www.portainer.alpuntodeventa.com.arobservado por NPM - redes internas: no tiene red interna dedicada confirmada fuera de
proxy-network - quien puede hablar con quien:
- operadores pueden llegar al contenedor por
9443 - el contenedor puede hablar con Docker por
docker.sock - la red legacy
portainer2_defaultqueda solo documentada como legado - puertos internos:
8000/tcp9443/tcp- puertos externos:
8000/tcp9443/tcp- firewall: expuesto por puertos publicados; requiere control operatorio
- observaciones de red: el runtime real esta en
proxy-network, no en la red legacy
F. NPM / Proxy / Dominio¶
- dominio:
www.portainer.alpuntodeventa.com.ar - proxy host: si, observado en
proxy_host/2.conf - forward hostname:
portainer - forward port:
9443 - SSL: si, por
Let's Encryptvia certificadonpm-2 - websocket: no aplica conocido al
2026-05-31 - headers especiales: no documentados
- HSTS: no se confirmo header HSTS en la respuesta publica observada
- renovacion de certificado: depende de NPM y de
Let's Encrypt
G. Datos y persistencia¶
- datos criticos:
portainer.db- metadata de stacks
- configuracion operativa del endpoint local
- volumenes:
portainer_data_newactivoportainer_datalegado conservado- carpetas bind:
/var/run/docker.sock- que se puede regenerar:
- contenedor Portainer
- red legacy vacia si en algun momento se decide retirarla
- que NO se puede perder:
- volumen
portainer_data_new portainer.db- metadata de
compose/
H. Backups¶
- ruta backup:
/root/openclaw-backups/daily/<timestamp>/portainer-volume.tgz - frecuencia: diario
03:00 - retencion: diarios
30 dias, semanales12, logs90 dias - restore probado: si, documentado
- RPO:
24 horas - RTO:
30-45 minutosen mismo VPS
I. Usos registrados¶
- usage_id:
use-portainer-openclaw-admin - app/servicio consumidor:
svc-openclaw - proposito: inspeccion administrativa del stack y sus recursos Docker
- base/schema si aplica: no aplica
- usuario tecnico si aplica: operador Portainer
- red usada: no aplica como consumo de red entre apps
- permisos: lectura y administracion sobre Docker via
docker.sock - criticidad: media
- impacto si falla: se pierde visibilidad y administracion facil del stack
-
backup/restore asociado:
portainer-volume.tgz+ RESTORE-PORTAINER.md -
usage_id:
use-portainer-npm-admin - app/servicio consumidor:
svc-nginx-proxy-manager - proposito: inspeccion administrativa del contenedor y sus recursos
- base/schema si aplica: no aplica
- usuario tecnico si aplica: operador Portainer
- red usada: no aplica como consumo de red entre apps
- permisos: lectura y administracion sobre Docker via
docker.sock - criticidad: media
- impacto si falla: se mantiene NPM funcionando, pero se pierde consola de administracion
- backup/restore asociado:
portainer-volume.tgz+ RESTORE-PORTAINER.md
J. Dependencias¶
- depende de:
- Docker daemon del host
docker.sock- volumen
portainer_data_new svc-nginx-proxy-managersi se usa el dominio publicado- servicios que dependen de este:
- operadores humanos para administrar
svc-openclawysvc-nginx-proxy-manager - orden de arranque: primero Docker, luego Portainer
- impacto si cae: los servicios siguen funcionando, pero se pierde la consola administrativa
K. Operacion¶
- como validar salud:
docker ps --filter name=^/portainer$docker exec portainer /portainer --versioncurl -k -I https://127.0.0.1:9443- comandos utiles:
docker logs portainerdocker volume inspect portainer_data_newdocker inspect portainer- logs:
- logs del contenedor
portainer - contenido del volumen
portainer_data_new - como reiniciar: reiniciar el contenedor
portainer - como detener: detener el contenedor
portainer - como recuperar: usar RESTORE-PORTAINER.md
L. Seguridad¶
- secretos: no exponer credenciales; la metadata sensible vive dentro del volumen
- usuarios tecnicos: usuarios administradores de Portainer
pendiente de detallar sin credenciales - exposicion publica: puertos
8000/9443publicados y dominiowww.portainer.alpuntodeventa.com.arobservado detras de NPM - hardening:
- version fijada en
2.39.2 - volumen activo identificado
- legado documentado antes de retiro
- riesgos:
- usa
docker.sock, por lo tanto tiene privilegio alto sobre el host Docker - conserva legado
portainer_datayportainer2_default - si se expone publicamente, aumenta la superficie administrativa
M. Estado y decisiones¶
- decisiones tomadas:
- fijar imagen en
2.39.2 - preservar
portainer_data_new - documentar
portainer_datayportainer2_defaultcomo legado - mantener runtime real en
proxy-network - por que esta asi: se privilegio compatibilidad con Docker
29.xy continuidad operativa sin borrar legado util para rollback o auditoria - pendientes:
- definir retiro controlado del legado
portainer_data - definir retiro controlado de
portainer2_default - riesgos aceptados:
- alto privilegio sobre Docker por uso de
docker.sock