**Purpose**: Emulatorjs is a 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