Guías
Codara Boxes
Un box es una máquina Linux privada que vive en la nube, con su propia carpeta home persistente. Abre en él un terminal, VS Code o Zed, y deja que Claude Code o Codex trabajen con tu portátil cerrado.
Qué es un box
Un box es un espacio de trabajo Linux en la UE, en Helsinki. Viene con git, herramientas de compilación, Node, Python, tmux, la CLI de GitHub, Claude Code y Codex ya instalados. Te conectas por SSH a través de Codara, así que no hay nada que abrir en el router ni una dirección pública que proteger. El box se duerme cuando no lo usas y se despierta cuando vuelves a conectarte, y todo lo que hay en /home se conserva.
Todos los planes incluyen boxes, en beta: Starter 5, Standard 10, Pro 30 y Scale 50. Consulta la página de precios para ver los planes, y Planes y capacidad para saber cómo funcionan los límites. Crear un box por encima del límite de tu plan se rechaza con 402 plan_limit_exceeded.
Crear un box
En la consola, abre Boxes y elige Nuevo box. Indica un nombre, el espacio de trabajo, el proyecto y un entorno persistente, un tamaño, el volumen home y cuándo debe dormirse el box. Lo mismo desde la CLI:
$ codaracloud boxes create dev \ --client my-workspace --project website --env staging \ --size small --home 10 --idle-after 30m --wait--size es mini, small, medium o large (mira Límites más abajo). Para elegir tú la CPU y la memoria, usa --cpu y --memory; no se pueden combinar con --size. Sin ninguna de las tres, Codara elige el mayor de Medium, Small y Mini que permita tu plan.
--wait mantiene el comando en marcha hasta que el box está listo. Consulta tus boxes cuando quieras:
$ codaracloud boxes list $ codaracloud boxes get dev --client my-workspacePiénsalo bien antes de elegir producción
Conectar con el terminal
$ codaracloud ssh dev --client my-workspaceEsto abre una shell en el box dentro de una sesión de tmux llamada main. Si se corta la conexión, ejecuta el mismo comando otra vez y vuelves a la misma sesión. Usa --no-tmux para una shell normal, o añade un comando después de -- para ejecutarlo y volver:
$ codaracloud ssh dev --client my-workspace --no-tmux $ codaracloud ssh dev --client my-workspace -- df -h /homeSi no usas --client y el mismo nombre de box existe en más de un espacio de trabajo, la CLI te lista los espacios para que elijas. Si el box está dormido, conectarte lo despierta; consulta Dormir y despertar.
Tu clave SSH
La primera vez que te conectas, la CLI crea una clave en ~/.codara/ssh/id_ed25519 y la registra en tu cuenta. Necesita ssh-keygen de OpenSSH instalado. Para ver o gestionar tus claves, abre Ajustes → Claves SSH en la consola o usa la CLI:
$ codaracloud ssh-keys list $ codaracloud ssh-keys add ~/.ssh/id_ed25519.pub --name laptop $ codaracloud ssh-keys remove <id or fingerprint>Puedes registrar hasta 20 claves. Un token de API no puede añadir ni quitar claves: inicia sesión con codaracloud login o usa la consola, donde además añadir una clave exige un inicio de sesión reciente. Una clave solo funciona a través de Codara; el box no la acepta desde ningún otro sitio.
VS Code y Zed
Los dos editores se conectan mediante un host SSH que la CLI escribe por ti. Ejecútalo una vez por box (o --all para todos los boxes a los que puedas acceder):
$ codaracloud boxes ssh-config dev --client my-workspaceAñade un host llamado codara-dev a ~/.codara/ssh/config y se asegura de que ~/.ssh/config incluya ese archivo. La primera vez hace una copia de tu ~/.ssh/config actual como ~/.ssh/config.codara-backup. Vuelve a ejecutarlo para refrescarlo, o añade --prune para quitar los hosts de boxes a los que ya no puedes acceder.
- VS Code. Instala la extensión Remote - SSH, ejecuta Remote-SSH: Connect to Host y elige
codara-dev. - Zed. Abre la carpeta con
zed ssh://codara-dev/home/codara.
La página de detalle del box en la consola muestra estos pasos con el nombre de tu box ya rellenado.
Codara Studio
Studio usa la CLI de Codara Cloud, así que instálala y ejecuta antes codaracloud login. En Codara Studio, elige New remote workspace (SSH)…, y en la pestaña Servers busca el box en Codara Cloud boxes y pulsa Connect. Studio despierta el box, muestra el progreso mientras arranca y se conecta.
Previsualizar un puerto
Un box no tiene dirección pública. Para abrir en tu navegador un servidor de desarrollo que corre en el box, reenvía su puerto a tu ordenador:
$ codaracloud boxes forward dev 3000 --client my-workspaceForwarding http://127.0.0.1:3000 to dev:3000. Press Ctrl-C to stop.Después abre http://127.0.0.1:3000. Elige otro puerto local con --local-port. El reenvío llega al loopback de la propia box, así que tu servidor debe escuchar en localhost o 127.0.0.1, y solo tú lo ves mientras el comando está en marcha.
Dormir y despertar
Un box que nadie usa se duerme y libera su servidor. Tu carpeta home se conserva. Lo que estuviera en marcha, como un servidor de desarrollo o una sesión de tmux, se detiene.
- Se duerme tras. 30 minutos por defecto. Puedes elegir de 5 minutos a 24 horas, y Nunca en los planes que lo incluyen.
- Despertar. Conectarte despierta el box. Si está listo en unos segundos ni lo notarás. Si Codara tiene que arrancar un servidor nuevo, puede tardar varios minutos, y la CLI imprime cada fase mientras espera. Despierta un box con antelación con
codaracloud boxes wake dev --wait 15m, o duérmelo ya concodaracloud boxes sleep dev. - Los boxes ocupados siguen despiertos. Un box que está usando CPU, por ejemplo durante un build o una ejecución de un agente, no se duerme.
Mantener despierto
Para que un agente siga trabajando después de que te desconectes, pide a Codara que mantenga el box despierto un tiempo:
$ codaracloud boxes keep-awake dev --hours 4 --client my-workspace $ codaracloud boxes keep-awake dev --off --client my-workspacePuedes elegir de 1 a 24 horas. Mantener despierto, y la CPU ocupada, dejan de contar tras 24 horas sin que nadie se conecte, para que una box olvidada no funcione para siempre.
Claude Code y Codex
Claude Code y Codex vienen instalados en cada box. Codara no inicia sesión por ti y nunca ve tus inicios de sesión: conéctate al box, ejecuta claude o codex y sigue los pasos que te muestre. La sesión se guarda en tu carpeta home, así que sobrevive al sueño.
El inicio de sesión de Codex en el navegador necesita un callback local. Usa su inicio de sesión por dispositivo, o reenvía antes el puerto del callback con codaracloud boxes forward dev 1455.
Los inicios de sesión los ven todos los miembros
Qué se conserva: /home y startup.sh
Solo /home persiste. Tu código, tus herramientas en la carpeta home, el historial de la shell y los inicios de sesión se mantienen al dormir, al reiniciar y al actualizar la imagen. Los paquetes que instalas con sudo apt viven fuera de la carpeta home y desaparecen cuando el box se reinicia.
Para recuperarlos automáticamente, pon los comandos en ~/.codara/startup.sh. Cada vez que el box arranca, ejecuta ese script como root, en segundo plano, durante un máximo de 10 minutos, y escribe su salida en ~/.codara/startup.log. Tienes un ejemplo en ~/.codara/startup.sh.example.
#!/bin/bashapt-get update && apt-get install -y ripgrep postgresql-clientLos boxes no tienen copia de seguridad
Miembros
Quien crea un box es su propietario. Añade a compañeros de la misma organización para que también puedan conectarse:
$ codaracloud boxes members add dev colleague@example.com --client my-workspace $ codaracloud boxes members list dev --client my-workspace $ codaracloud boxes members remove dev colleague@example.com --client my-workspace $ codaracloud boxes keys dev --client my-workspaceUn box puede tener hasta 10 miembros. boxes keys lista las huellas de las claves que pueden llegar al box.
Los miembros comparten un solo usuario
Acceso a la red
Desde un box puedes llegar a la web (HTTP y HTTPS), al DNS y a las bases de datos del propio entorno del box. Los demás puertos de salida están cerrados, incluidos el 22 (SSH) y el 25 (correo).
- Git por SSH funciona. Para GitHub, GitLab y Bitbucket el box se conecta automáticamente por el puerto 443, así que
git clone git@github.com:acme/repo.gitfunciona sin más. - Git por HTTPS. Ejecuta una vez
gh auth setup-gitpara usar tu sesión de GitHub. - Otros servidores SSH no son accesibles directamente.
Límites
| Elemento | Por defecto | Rango |
|---|---|---|
| CPU | El mayor de Medium, Small y Mini que permita tu plan | De 0,25 a 6 vCPU, en pasos de 0,25, y como máximo lo que permita tu plan |
| Memoria | El mayor de Medium, Small y Mini que permita tu plan | De 512 MiB a 12 GiB, en pasos de 256 MiB, y como máximo lo que permita tu plan |
| Volumen home | 10 GiB | De 10 a 500 GiB. Puede crecer pero no reducirse, y cuenta para el almacenamiento de tu plan |
| Se duerme tras | 30 minutos | De 5 minutos a 24 horas, o nunca en los planes que lo incluyen |
| Mantener despierto | Desactivado | De 1 a 24 horas por petición |
| Miembros | Ninguno | Hasta 10 por box |
| Claves SSH | Ninguna | Hasta 20 por usuario |
| Ubicación | Helsinki | Los boxes solo están disponibles en Helsinki |
| Disco fuera de /home | 20 GiB | Espacio temporal para paquetes del sistema y cachés; se pierde al reiniciar |
Cambia más adelante el tamaño o el tiempo de sueño con codaracloud boxes update, o desde la página del box. Cambiar la CPU o la memoria reinicia el box.
| Tamaño | CPU | Memoria |
|---|---|---|
mini | 0,5 vCPU | 1 GiB |
small | 1 vCPU | 2 GiB |
medium | 2 vCPU | 4 GiB |
large | 4 vCPU | 8 GiB |
Mini es justo lo que necesita una sesión de Claude Code: usa bastante menos de 1 GiB de memoria, y 1 GiB deja espacio para git, las pruebas y la shell. Elige un tamaño mayor para compilaciones y suites de pruebas.
Cómo cuentan los boxes en tu plan
Los boxes no tienen una asignación propia. Comparten la CPU, la memoria y el almacenamiento de tu plan con tus apps, bases de datos y tareas.
- La CPU y la memoria cuentan solo mientras un box está despierto. Los boxes se duermen tras 30 minutos sin uso, y un box dormido no consume nada.
- El almacenamiento cuenta mientras el box exista: su carpeta home ocupa al menos 10 GiB del almacenamiento de tu plan, despierto o dormido. Puedes añadir almacenamiento en Facturación y uso (0,12 € por GiB al mes) o conectar el tuyo.
- El número y el tamaño tienen un tope por plan, como muestra la tabla.
| Plan | CPU y memoria para apps y boxes despiertos | Almacenamiento | Boxes | Box más grande |
|---|---|---|---|---|
| Starter | 0,5 vCPU / 1 GiB | 25 GiB | 5 | 0,5 vCPU / 1 GiB |
| Standard | 3 vCPU / 6 GiB | 40 GiB | 10 | 3 vCPU / 6 GiB |
| Pro | 8 vCPU / 16 GiB | 80 GiB | 30 | 6 vCPU / 12 GiB |
| Scale | 16 vCPU / 32 GiB | 150 GiB | 50 | 6 vCPU / 12 GiB |
Por ejemplo, Starter tiene 0,5 vCPU y 1 GiB para todo lo que se ejecuta, así que ejecuta un box Mini (0,5 vCPU / 1 GiB) a la vez, y solo si nada más usa esa CPU y esa memoria. Puede conservar hasta 5 boxes si tiene almacenamiento: cinco boxes con el mínimo de 10 GiB ocupan 50 GiB, más de los 25 GiB de Starter, así que compra almacenamiento extra o conecta el tuyo. Una petición que supere cualquier límite se rechaza con 402 plan_limit_exceeded, que indica el límite.
Una conexión a través de Codara se cierra tras 60 minutos sin datos, y una sola conexión transfiere como máximo 8 MiB por segundo. Puedes tener 16 conexiones abiertas a la vez.
Conviene saber
- Los reinicios de Codara cortan tu conexión. Cuando Codara actualiza el servicio que transporta el SSH, tu conexión termina con un mensaje. Ejecuta el mismo comando otra vez: tu sesión de tmux sigue ahí.
- Las actualizaciones de servidor reinician el box. Los servidores se reinician para aplicar actualizaciones del sistema operativo. Si ocurre mientras el box está despierto, se reinicia en otro servidor o tras el reinicio. Tu
/homese conserva, pero los procesos y las sesiones de tmux se pierden. - Si cambia la clave del host tras borrar y volver a crear un box con el mismo nombre, ssh se niega a conectar e imprime el comando exacto de
ssh-keygen -Rque debes ejecutar. - Eliminar un box borra su volumen home para siempre. La CLI te pide escribir el nombre del box, o pasa
--confirm <name>en scripts.
Para ejecutar un comando dentro de una de tus apps en marcha, cuando se abra el acceso a la shell, consulta Acceso a la shell de las apps.
Última actualización:
