Sobre o projeto

Containarium é um runtime de agentes open-source e auto-hospedável que concede a cada agente de IA um contêiner Linux persistente e acessível por SSH, com isolamento de rede por locatário. Agentes (Cursor, Claude Code, OpenCode ou clientes MCP personalizados) interagem com suas boxes por meio de dois servidores MCP: um servidor `agent-box` dentro do contêiner, expondo `shell_exec`, `read_file`, `write_file`, `list_directory`, `move_file`, `delete_file` e recursos de contexto de CI; e um `mcp-server` da plataforma no host para o ciclo de vida do contêiner (`create_container`, `list_containers`, `expose_port`, etc.). As mesmas operações estão disponíveis pela CLI `containarium`. A arquitetura é centrada em uma VM sentinela leve (por exemplo, GCP e2-micro) executando sshpiper para roteamento SSH por nome de usuário e Caddy com PROXY protocol para terminação HTTPS/TLS. Os pools de backend podem ser contêineres LXC/Incus no Ubuntu/Rocky/RHEL (com snapshots ZFS, backups diários, retenção de 30 dias) ou pods Kubernetes (StatefulSet + Service headless + NetworkPolicy default-deny, `automountServiceAccountToken:false`, perfil restrito de Pod Security). Ambos os backends compartilham a mesma CLI, superfície MCP, autenticação JWT (iss/aud/jti/scopes, refresh tokens de uso único, revogação jti), RBAC e API REST/gRPC. O passthrough de GPU funciona em bare-metal e K8s (`nvidia.com/gpu`). Os recursos de segurança incluem LXC sem privilégios, contas proxy por usuário com fail2ban, perfis AppArmor, sandbox opcional `AGENTBOX_ROOT`, criptografia por envelope KMS (Vault Transit, GCP KMS), entrega de segredos via tmpfs, log de auditoria com cadeia de hashes SHA-256, verificação de digest de imagens, allowlists de registro e varredura ClamAV/Trivy. O sentinela detecta preempção spot em ~10s, fornece uma página de manutenção e se recupera automaticamente em ~85s mantendo um IP estático. Quickstart: `curl -fsSL https://containarium.dev/install.sh | sudo bash` instala daemon + Incus no Ubuntu; `containarium create alice --ssh-key ~/.ssh/id_ed25519.pub` cria uma box; `containarium ssh-config sync` configura o SSH; adicione a configuração MCP apontando para `ssh alice agent-box`; `containarium expose-port alice --container-port 8080 --domain blog.example.com` publica um endpoint HTTPS público. Um único `containarium quickstart alice --prompt "..." --domain ...` reduz todas as etapas. Licenciado Apache 2.0, sem CLA.