Saltar al contenido
Acropolis es experimental: la interfaz, la salida y los valores por defecto pueden cambiar entre versiones.Qué significa
Acropolisby OlimpiaExperimental
Esc
↑↓navegar↵abrir⌘Jvista previa
En esta página

Introducción

Qué es Acropolis, su estado experimental, por qué existe y qué soporta.

Acropolis: una acrópolis construida en capas frente a la bahía de Buenos Aires

Acropolis convierte el código fuente de una app en una imagen OCI sin Dockerfile y sin daemon. Detecta el lenguaje y el framework, descarga toolchains y dependencias verificadas, compila y arma la imagen. Es un único binario de Rust, acropolis, con licencia Apache-2.0 o MIT, y es el builder que usa Olimpia.

acropolis build ./my-app -t registry.example.com/team/my-app:latest
acropolis build ./my-app --oci image.tar --info info.json
acropolis plan ./my-app

Estado

Por qué

En una PaaS cada build arranca en una máquina vacía, y las herramientas disponibles eran lentas, pesadas o generaban imágenes enormes:

  • Los builds en frío son lentos. En nuestro benchmark, Railpack tarda de 54 a 170 s porque primero descarga su imagen de builder, y BuildKit no reintenta una descarga que se cuelga: vimos una capa de 68 MB bajando a 200 KB/s durante 10 minutos. Docker es más rápido, pero solo si alguien escribió a mano un Dockerfile multi-stage.
  • Las imágenes vienen infladas. Railpack deja en la imagen las devDependencies, la caché y su gestor de toolchains: una app de Next de ejemplo pesa 345 MB contra 105 MB con un Dockerfile bien hecho.
  • Mucha memoria para poco trabajo. Railpack usa más de 2,9 GB de RAM para buildear un servidor Express con 7,5 MB de dependencias.
  • Los rebuilds no reutilizan nada. Con Docker, cambiar una línea de una app de Go recompila todo (41 s).
  • Ninguna caché sobrevive en un builder efímero.

Los resultados están en Benchmarks, y cómo llega Acropolis hasta ahí, en Conceptos.

Qué soporta

ecosistema runtime de la imagen
Node: npm, pnpm, yarn 1, yarn berry, bun; Next, Nuxt, Astro, SvelteKit, Remix, React Router, TanStack Start, Angular, Vite, Nx, Turborepo distroless con una shell mínima cuando se puede; si no, node:<version>-bookworm-slim. Next standalone, Nitro, SPA sobre Caddy
Bun distroless/cc + bun, o Debian slim
Go distroless/static
Rust distroless/cc
Python: uv, poetry, pdm, pipenv, pip python:<version>-slim
Ruby, PHP/Laravel, Java, .NET, Elixir, Gleam, Deno, C/C++ la imagen slim oficial de cada uno
Sitios estáticos y scripts Caddy, Debian slim

Respeta railpack.json y acropolis.json: mirá Configuración. Las apps con Dockerfile quedan fuera del alcance: seguí buildeándolas con BuildKit.

Próximos pasos

Parte de Olimpia

  • Olimpia: la plataforma cloud que corre las imágenes que buildea Acropolis. Su documentación está en docs.olimpia.dev.
  • Agora: escritorios para agentes de IA, también open source.

Última actualización el

¿Te ha resultado útil esta página?