🚧PRACTICA: Creando una web de emulación de juegos con docker-compose

Objetivos:

  • Desplegar el servicio online para todos

  • ¿se puede hacer un proxy para cada plataforma? -> necesitamos varios servicios a la vez?

    • Plataforma PS1

    • Plataforma NES

  • Modificar el index.html a un estilo propio

  • Todo con docker-compose

Pasos para montar un servidor de EmulatorJS con Docker Compose

  1. Prepara los archivos necesarios:

    • Descarga el paquete de EmulatorJS o clona el repositorio desde https://github.com/ethanaobrien/emulatorjs.

    • Crea un directorio para tus ROMs (por ejemplo, roms/) y colócalos allí.

    • Asegúrate de que tienes Docker y Docker Compose instalados.


  1. Crea un Dockerfile para EmulatorJS: Crea un archivo Dockerfile para alojar los archivos del servidor web:

    • Este archivo usa NGINX como servidor web para alojar EmulatorJS.

    • Copia los archivos del proyecto EmulatorJS al directorio donde NGINX los puede servir (/usr/share/nginx/html).


  1. Estructura del proyecto: Asegúrate de que la estructura del proyecto sea similar a esta:


  1. Crea un archivo docker-compose.yml: Aquí está un ejemplo de archivo docker-compose.yml para configurar el servidor EmulatorJS:

    • build:: Especifica que se debe construir la imagen Docker desde el Dockerfile.

    • ports:: El puerto 8080 en tu máquina local se conecta al puerto 80 del contenedor.

    • volumes:: Monta la carpeta local de ROMs (./roms) en el contenedor para que los juegos sean accesibles.


  1. Construye y ejecuta los contenedores:

    • Navega al directorio donde está tu archivo docker-compose.yml.

    • Construye y levanta el servidor con los siguientes comandos:

    Esto construirá la imagen, iniciará el contenedor, y montará el servidor en http://localhost:8080.


  1. Accede al servidor EmulatorJS:

    • Abre un navegador web e ingresa http://localhost:8080.

    • La interfaz de EmulatorJS debería cargarse.

    • Los ROMs estarán disponibles en la carpeta /roms. Si EmulatorJS no detecta automáticamente los juegos, edita los archivos de configuración (games.js o index.html) para que apunten a tus ROMs.

Referencias:

Última actualización