Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

once-campfire-rust

Port de ONCE Campfire desde Rails a Rust que mantiene compatibilidad pixel-perfect con la app original. Ofrece un binario único, imágenes ligeras y mejora drástica en rendimiento (19-44× más rápido) para chat en tiempo real y alta concurrencia.

Ficha actualizada 28 sept 2026, 10:46 · upstream 28 sept 2026, 10:40 · release v0.1.0

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es once-campfire-rust

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

once-campfire-rust es una implementación en Rust del software de comunicación ONCE Campfire, originalmente escrito en Rails. El objetivo principal fue lograr una compatibilidad total con la aplicación original: mismo frontend (CSS, Stimulus, Turbo), misma base de datos SQLite y almacenamiento, sin cambiar el diseño visual ni los protocolos. Tras alcanzar esta paridad, el código diverge para aprovechar las ventajas de Rust, resultando en un binario único que reemplaza Ruby, Puma, Redis y Thruster.

CASOS DE USO
  • Reemplazo directo de una instancia de Campfire Rails existente sin migrar datos ni frontend.
  • Despliegue de aplicaciones de chat en tiempo real con alta concurrencia (hasta 100.000 clientes).
  • Servicios que requieren baja latencia y alto throughput en la entrega de mensajes.
  • Entornos de producción donde el consumo de memoria y tamaño de imagen son críticos.
PUNTOS DESTACADOS
  • Rendimiento: Entre 19× y 44× más rápido que la versión Rails en páginas, posts y entrega en tiempo real.
  • Eficiencia de recursos: Reduce la memoria idle en un 6.5× y el tamaño de imagen comprimida en un 5.4×.
  • Escalabilidad: Soporta hasta 100.000 clientes conectados simultáneamente con bajo consumo de memoria.
  • Compatibilidad: Mantiene paridad pixel-perfect con la aplicación Rails original mediante pruebas automatizadas.
PRECAUCIONES
  • Requiere instalación manual de dependencias externas como libvips y ffmpeg para procesamiento de medios.
  • No incluye archivo docker-compose, obligando a gestionar el entorno manualmente o mediante scripts personalizados.
  • El frontend sigue dependiendo de activos JavaScript vendidos (Stimulus, Turbo) sin migración a Rust.
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU4 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO20 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Docker detectado

Despliegue en contenedor Docker con un único binario 'campfire'. Requiere libvips y ffmpeg instalados en el host o imagen. Mapear puerto 80. La aplicación utiliza SQLite para persistencia de datos y Redis para servicios auxiliares. Se recomienda usar LTO y jemalloc para optimizar rendimiento. El frontend se sirve sin cambios, manteniendo la compatibilidad con la versión Rails original.

✓Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsRailsRust
SERVICIOS
Redis
BASES DE DATOS
Redis
PUERTOS
80
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.