Instalar Takuto Core

Esta es la vía de crea-tu-propio-container: clona el motor Takuto Core, edita config.toml y ejecútalo con Docker Compose directamente. Elige esta opción cuando quieras control total sobre la imagen, el despliegue y la red que tienes delante.

¿Solo quieres probarlo rápido en un proyecto? La Takuto CLI genera estos archivos y ejecuta Compose por ti. Ambas vías ejecutan el mismo motor.

Requisitos previos

Consulta Visión general → Requisitos previos. En resumen: Docker (o Podman) con docker compose, ≥ 8 GiB de RAM, ≥ 30 GiB de disco libre, un token de GitHub y una cuenta de un proveedor de IA.

Desarrollador individual (local)

Ejecuta Takuto Core en tu portátil. Calcula entre quince y veinte minutos, ya que esta vía construye la imagen del container localmente.

1. Clona y configura

git clone https://github.com/takuto-team/takuto-core && cd maestro-core
cp config.toml.example config.toml
cp takuto.env.example takuto.env

Edita config.toml:

  • Fija [general] ticketing_system en "jira", "github" o "none".
  • Para Jira: rellena [jira] site, project_keys y email.
  • Para GitHub Issues: el repo se detecta a partir del remote de git del repositorio clonado.

Pon los secretos en takuto.env (nunca en config.toml):

export ANTHROPIC_API_KEY="sk-ant-..."
export GH_TOKEN="github_pat_..."

2. Build

docker compose build

3. Autentícate (solo la primera vez)

docker compose run --rm -it takuto setup

Esto te guía por GitHub CLI → Atlassian CLI (opcional) → Claude Code o Cursor Agent → clonado de tu repositorio.

Podman en macOS: aumenta primero los recursos de la VM:

podman machine stop && podman machine set --memory 12288 --cpus 4 && podman machine start

4. Arranca

docker compose up

El dashboard está en http://localhost:8080. En el primer arranque, crea la cuenta admin inicial. Si usas Jira o GitHub Issues, el sondeo empieza automáticamente; si no, haz clic en + para iniciar un workflow manualmente.

Despliegue en equipo (servidor)

Autoaloja Takuto Core en un servidor Linux. Tu equipo usa el dashboard a través de un navegador; el agente corre en segundo plano.

1. Clona y configura en el servidor

git clone https://github.com/takuto-team/takuto-core && cd maestro-core
cp config.toml.example config.toml
cp takuto.env.example takuto.env

Ajustes clave para un despliegue compartido:

[general]
ticketing_system = "jira"          # or "github"
max_concurrent_workflows = 3       # tune to your server's CPU/RAM

[web]
host = "0.0.0.0"
port = 8080

Takuto Core usa una base de datos multiusuario para la autenticación. En el primer arranque el dashboard te pide crear la cuenta admin inicial; ese admin puede entonces crear usuarios adicionales desde Configuración → Users.

2. Build y autenticación

docker compose build
docker compose run --rm -it takuto setup

3. Arranca como servicio

docker compose up -d

4. Pon un reverse proxy delante (recomendado)

Takuto Core escucha en HTTP plano. Termina el TLS delante de él con nginx o Caddy apuntando al puerto 8080.

Ejemplo de snippet de Caddy:

takuto.yourcompany.com {
    reverse_proxy localhost:8080
}

Cuando estés detrás de un terminador de TLS, fija los orígenes permitidos del dashboard para que las cookies y CORS funcionen correctamente:

[web]
cors_origins = ["https://takuto.yourcompany.com"]

cookie_secure detecta HTTPS automáticamente a partir de cors_origins o una cabecera entrante X-Forwarded-Proto: https; fíjalo en true si tu proxy no envía esa cabecera. Consulta la referencia de configuración para la tabla [web] completa.

Modelo multiusuario

Takuto Core es multiusuario, single-tenant: cada usuario tiene su propia vista del dashboard, pero todos los usuarios de una instancia comparten las mismas credenciales de Jira, GitHub e IA.

  • admin — puede crear, editar, suspender y borrar usuarios, y cambiar ajustes compartidos (sondeo, concurrencia, cambio de workspace, clonado de repos).
  • user — ve y actúa solo sobre los workflows que creó. Sin visibilidad entre usuarios, ni siquiera para los admins.

El inicio de sesión es usuario + contraseña (hasheada con argon2). Las sesiones tienen un TTL de inactividad de 24 horas y un TTL absoluto de 30 días; las cuentas se bloquean tras 5 intentos fallidos en 10 minutos. Los códigos de recuperación de un solo uso emitidos al crear la cuenta pueden restablecer una contraseña olvidada.

Cualquier persona a la que des una cuenta puede ejecutar código en los containers de worker bajo la identidad del despliegue — incluidos los tokens de takuto.env. No des cuentas a gente en la que no confíes.

Persistencia entre reinicios

Todo el estado de auth (GitHub, Atlassian, Claude/Cursor), los snapshots de workflow y la caché de npm viven en volúmenes de Docker con nombre. Los workflows sobreviven a docker compose restart — las ejecuciones en pausa o en curso se reanudan automáticamente.

Sidecars opcionales

  • Docker-in-Docker — fusiona docker-compose.dind.yml para ejecutar los pasos de cada workflow en containers de Docker efímeros (evita conflictos de puertos y de sistema de archivos entre workflows concurrentes). Consulta Extender Takuto Core.
  • Puente de modelos autoalojados — fusiona docker-compose.lm-bridge.yml cuando apuntes el proveedor OpenCode a un servidor de modelos corriendo en el Mac anfitrión. Consulta Modelos autoalojados.

Próximos pasos