Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

retrom

Plataforma auto-alojada para gestionar y ejecutar bibliotecas de juegos retro en el navegador mediante EmulatorJS y retrom-runtime. Arquitectura híbrida con backend Go y frontend Next.js, sin Docker Compose por defecto.

Ficha actualizada 22 sept 2026, 15:03 · upstream 22 sept 2026, 13:52 · release v0.0.77

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es retrom

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

Retrom es una plataforma auto-alojada diseñada para centralizar la gestión de una biblioteca de juegos retro accesible directamente desde el navegador web. Permite a usuarios y amigos compartir colecciones, gestionar metadatos y continuar partidas guardadas sin necesidad de instalar emuladores locales en cada dispositivo. El sistema mantiene el estado del juego y los archivos de usuario separados por cuenta para garantizar la privacidad y la persistencia.

Técnicamente, combina un backend escrito en Go con una base de datos SQLite para la gestión de datos, y un frontend desarrollado con Next.js y React. La ejecución de juegos se delega a componentes externos como EmulatorJS y retrom-runtime, lo que permite soportar múltiples plataformas retro y motores clásicos sin incluir los emuladores binarios dentro del repositorio principal.

El despliegue requiere la construcción manual de imágenes OCI separadas para el backend (puerto 8080) y el frontend (puerto 3000). Aunque el proyecto soporta contenedores, no incluye un archivo Docker Compose por defecto, obligando al administrador a configurar la orquestación, el proxy inverso HTTPS y los directorios de persistencia manualmente para entornos de producción estables.

CASOS DE USO
  • Auto-alojar una biblioteca de juegos retro accesible vía navegador sin instalar emuladores locales.
  • Gestionar metadatos, portadas y progreso de partidas entre dispositivos mediante cuentas compartidas.
  • Importar bibliotecas existentes desde EmulationStation o Pegasus con deduplicación por hash.
  • Configurar entornos de desarrollo para integrar nuevos núcleos (cores) de libretro o emuladores.
PUNTOS DESTACADOS
  • Arquitectura modular separando backend Go y frontend Next.js en contenedores OCI.
  • Soporte nativo para persistencia de estado y carga guardada dentro del navegador.
  • Capacidad de importar bibliotecas externas con verificación de integridad mediante hashes.
  • Interfaz adaptativa con modos específicos para PC, móvil e interfaces de TV.
PRECAUCIONES
  • No incluye Docker Compose por defecto, requiriendo configuración manual de orquestación.
  • Dependencia crítica del navegador Chrome para la ejecución de juegos en el cliente.
  • Complejidad alta (HIGH) con requisitos de CPU y RAM específicos para entornos de producción.
01

Perfil de infraestructura

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

CPU4 vCPUrecomendación inicial
MEMORIA4 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADhighnivel de operación
02

Despliegue detectado

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

Docker detectado

Construir imágenes OCI ejecutando `make build-images`. Configurar proxy inverso HTTPS y directorios de persistencia manuales, ya que no hay Docker Compose por defecto. Requiere 4 núcleos CPU y 4GB RAM mínimo. Verificar compatibilidad de cores en docs/core-runtime-validation.md antes de producción.

✓Dockerfile
—Compose
—One-click
03

Stack y dependencias

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

FRAMEWORKS
Next.jsReactNode.jsGoPython
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
40008080
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.