# Agencia en Docker La imagen se arma con la release publicada en get.agencia.ip1.cc. No hace falta el repo: alcanza con el `compose.yml`. ```sh mkdir agencia && cd agencia curl -fsSLo compose.yml https://get.agencia.ip1.cc/docker/compose.yml docker compose up -d --build docker compose logs agencia | head -20 # los tokens del primer arranque ``` La app queda en http://127.0.0.1:7778. El token de usuario de los logs es para entrar a la web; el de agente no se comparte. El `compose.yml` usa como contexto de build `docker/agencia.git`, un repo de git con el `Dockerfile` y el `entrypoint.sh` de esta carpeta, que Docker clona solo. Para eso hace falta `git` instalado en la máquina donde corre Docker. Sin compose, o sin git, la imagen se arma con el mismo contexto en `.tar.gz`: ```sh docker build -t agencia:release https://get.agencia.ip1.cc/docker/context.tar.gz ``` ## Variables | Variable | Para qué | Default | |---|---|---| | `AGENCIA_VERSION` | Fijar una release (`v0.1.0`) | `latest` | | `AGENCIA_PORT` | Puerto en 127.0.0.1 | `7778` | | `AGENCIA_DISPATCH` | `1` para que despierte agentes sola | `0` | | `ANTHROPIC_API_KEY` o `CLAUDE_CODE_OAUTH_TOKEN` | Con qué se autentica el agente (`claude setup-token` da el segundo) | — | | `AGENCIA_WORK` | Carpeta del host con los repos, montada en `/work` | `./work` | ## Actualizar ```sh docker compose build --pull && docker compose up -d ``` El build vuelve a leer `latest.json` y arma la versión nueva si cambió. Los datos viven en el volumen `agencia_agencia-data` y no se tocan.