Files
scripts/tmux-host/Dockerfile

28 lines
1.3 KiB
Docker

# Imagen de tmux-host: sesion tmux persistente para Claude Code sobre el
# lab GitOps de cruzcloud. Reemplaza el `docker run ... alpine sh -c "apk
# add ... && npm install ..."` inline documentado antes en
# docs/arquitectura/sesion-tmux-persistente.md — mismo contenido, pero
# construido una vez como imagen en vez de reinstalar todo en cada arranque
# del contenedor.
FROM alpine:3.24
# uv (paquete directo de Alpine, no via pip): corre servidores MCP en
# Python bajo demanda (ej. `uvx workspace-mcp`, ver ADR 0012 practica
# multi-cloud) sin instalar Python a mano -- uv baja el interprete que
# necesite por su cuenta la primera vez que se usa.
RUN apk add --no-cache tmux docker-cli bash curl git kubectl nodejs npm uv \
&& npm install -g @anthropic-ai/claude-code \
&& git config --global --add safe.directory '*'
# Repo raiz del lab (CLAUDE.md, apps-registry/, platform-infra/, scripts/).
# docker exec hereda este WORKDIR como cwd por defecto, y ademas
# lab-session.sh y healthcheck.sh lo pasan explicito via `tmux ... -c`
# para no depender de ese comportamiento implicito.
WORKDIR /DATA/AppData/k3d-lab-v3/lab-cruzcloud
COPY healthcheck.sh /usr/local/bin/healthcheck.sh
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/healthcheck.sh /usr/local/bin/entrypoint.sh
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]