Retro-gaming in Proxmox VE in a Lxc container with Docker.

What is Emulatorjs

EmulatorJS provides an excellent platform for playing retro-style games on modern web browsers. With its accurate emulation of legacy hardware, developers have been able to port a wide range of classic games to the web, providing a new way for gamers to experience these old favorites.

One of the most popular retro systems supported by EmulatorJS is the Nintendo Game Boy. This iconic handheld console was first released in 1989 and quickly became one of the most popular gaming devices of its time. With EmulatorJS, developers have been able to create web-based Game Boy emulators that allow players to enjoy classic titles like Tetris, Super Mario Land, and The Legend of Zelda: Link’s Awakening, all without the need for a physical console.

Another popular system supported by EmulatorJS is the Sega Genesis, a 16-bit home console that was first released in 1988. With its library of classic games, including Sonic the Hedgehog, Streets of Rage, and Phantasy Star, the Genesis remains a popular choice for retro gamers. EmulatorJS allows developers to create web-based emulators that accurately reproduce the behavior of the Genesis, providing a new way for players to experience these old favorites.

Overall, EmulatorJS provides an excellent way for gamers to experience classic and retro-style games on modern web browsers. With its accurate emulation of legacy hardware and support for a wide range of systems, it has become a popular tool for developers and gamers alike.

Let’s get started.

You can also view it on the Youtube Channel

  1. First we should make our container platform ready like i explained before in install docker – compose – portainer in LXC
  2. Open Portainer and go to stack and make a new stack “emulatorjs” you can choose a name to your liking if you prefer that.
  3. Enter the following code in the stack editor and change the TZ= section to yours it is not important and click the deploy button.
version: "2.1"
    container_name: emulatorjs
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Bangkok
      - SUBFOLDER=/ #optional
      - /var/lib/docker/volumes/emulatorjs/config:/config
      - /var/lib/docker/volumes/emulatorjs/data:/data
      - 3000:3000
      - 80:80
      - 4001:4001 #optional
    restart: unless-stopped
  1. start your container and take note of your lxc current IP address in the console with “ip addr” command and write it down together with the port 3000, if you already have something running on 3000 change it to something else in the stack code.
  1. Open a new browser tab in your browser and go type in the container “Http://you_address:3000” you will get the following screen if everything is correct.
  1. This will download the directory structure for your different emulators and games more you can find here emulatorjs.
  2. You can download the Rom’s for the games you own from i not promote piracy on many roms you still have copy right.
  3. If you downloaded the directory structure your screen look like this.
  1. Then you go to File Management choose the correct directory for the emulator roms you have and copy them there
  1. Got to Rom Management and scan the new imported Rom’s and folow the steps to complete your Retro Game Server.
  1. After you completed the steps open your browser and type in you ip address for the container and you will get this screen.

The whole clip on how to do it.

That’s it you finished your retro gaming container on your proxmox Ve.

Now the whole family can enjoy Retro Games on there own personal webbrowser i hope you like it.

As usual if you like this just buy me a coffee to keep me going.

if you have any questions just send email to RikkieBkk