--- tags: - EmulatorJS - Media - Gaming - Docker --- ## 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 ## Related Documentation - [Docker Network Prerequisite](<../../Containers/Docker/Create the Docker Network.md>) — The configuration references the external `docker_network`; prepare it on the intended Docker host. - [Related Applications Documentation](<../../../reference/Applications/index.md>) — Find the connected deployments, procedures, and references for this subject. - [Traefik Deployment](<../../Networking and Access/Reverse Proxies/Traefik.md>) — Prepare the reverse proxy before applying this page's routing configuration.