From f8bbab38bded3d59c67ca87d1bfbabb6d65932d3 Mon Sep 17 00:00:00 2001 From: Nicole Rappe Date: Thu, 29 May 2025 23:32:43 -0600 Subject: [PATCH] Add Servers/Containerization/Docker/Compose/EmulatorJS.md --- .../Docker/Compose/EmulatorJS.md | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 Servers/Containerization/Docker/Compose/EmulatorJS.md diff --git a/Servers/Containerization/Docker/Compose/EmulatorJS.md b/Servers/Containerization/Docker/Compose/EmulatorJS.md new file mode 100644 index 0000000..6c0f581 --- /dev/null +++ b/Servers/Containerization/Docker/Compose/EmulatorJS.md @@ -0,0 +1,60 @@ +**Purpose**: Emulatorjs - In browser web based emulation portable to nearly any device for many retro consoles. A mix of emulators is used between Libretro and EmulatorJS. + +## Docker Configuration +```yaml title="docker-compose.yml" +--- +services: + emulatorjs: + image: lscr.io/linuxserver/emulatorjs:latest + container_name: emulatorjs + environment: + - PUID=1000 + - PGID=1000 + - TZ=America/Denver + - SUBFOLDER=/ #optional + volumes: + - /srv/containers/emulatorjs/config:/config + - /srv/containers/emulatorjs/data:/data + ports: + - 3000:3000 + - 80:80 + - 4001:4001 #optional + restart: unless-stopped + networks: + docker_network: + ipv4_address: 192.168.5.200 + +networks: + docker_network: + external: true +``` + +```yaml title=".env" +N/A +``` + +## Traefik Reverse Proxy Configuration +If the container does not run on the same host as Traefik, you will need to manually add configuration to Traefik's dynamic config file, outlined below. +```yaml +http: + routers: + git: + entryPoints: + - websecure + tls: + certResolver: letsencrypt + http2: + service: emulatorjs + rule: Host(`emulatorjs.bunny-lab.io`) + + services: + emulatorjs: + loadBalancer: + servers: + - url: http://192.168.5.200:80 + passHostHeader: true +``` + +!!! note + Port 80 = Frontend + Port 3000 = Management Backend \ No newline at end of file