Skip to content
This repository was archived by the owner on Jun 9, 2025. It is now read-only.

Commit ef36ff5

Browse files
Bot Updating Templated Files
1 parent 24cfedf commit ef36ff5

1 file changed

Lines changed: 50 additions & 68 deletions

File tree

readme-vars.yml

Lines changed: 50 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -33,74 +33,56 @@ opt_param_env_vars:
3333
- {env_var: "SUBFOLDER", env_value: "/", desc: "Specify a subfolder for reverse proxies IE '/FOLDER/'"}
3434
# application setup block
3535
app_setup_block_enabled: true
36-
app_setup_block: |
37-
The Backend can be accessed at:
38-
39-
* http://yourhost:3000/
40-
41-
The first thing you will need to do is click to download the default art/configs from this interface, this will setup a skeleton directory in your `/data` mount. From there add roms to the respective `roms` directories and follow the on screen instructions to add them to your web frontend running on port 80.
42-
43-
**I understand there may be some confusion as to project naming, but when this project (linuxserver/emulatorjs) started it was meant to be a simple frontend for self hosting folks to use the at the time deobfuscated code of [https://www.emulatorjs.com/](https://www.emulatorjs.com/) that [ethanaobrien](https://github.com/ethanaobrien) was working on. Since then [EmulatorJS](https://github.com/EmulatorJS/EmulatorJS) has evolved into it's own amazing project based on [Libretro](https://github.com/libretro) cores that have been highly optimized to function for web. This project mostly contains custom built libretro cores found [here](https://github.com/linuxserver/libretro-cores). So in general despite the naming of this project and the logo this is just a docker container with a web based backend for generating a useable self hosted emulation website and is in no way affiliated with [EmulatorJS](https://github.com/EmulatorJS/EmulatorJS).**
44-
45-
**This container (outside of the profile functionality) only generates a static set of files that can be hosted on any web provider even object storage. Everything runs in the client's browser and there are no dependencies on this container. To extract/copy this website it is at the path `/emulatorjs/frontend` inside the container. If you are happy with the catalouge you have created and no longer want to run stuff like the IPFS backend or want to upload these files to some other hosting provider you can simply copy the contents of that directory and kill off this container. This container can also be started without IPFS once you collection is set using the environment variable `-e DISABLE_IPFS=true`.**
46-
47-
### Read Only Rom Mounts
48-
49-
**Mounting in existing rom directories Read Only can be achieved by using a special root path `/roms`, For example for NES:**
50-
51-
`-v /path/to/nes/roms:/roms/nes:ro`
52-
53-
The folder names for systems are:
54-
* 3do
55-
* arcade
56-
* atari2600
57-
* atari5200
58-
* atari7800
59-
* colecovision
60-
* doom
61-
* gb
62-
* gba
63-
* gbc
64-
* jaguar
65-
* lynx
66-
* msx
67-
* n64
68-
* nds
69-
* nes
70-
* ngp
71-
* odyssey2
72-
* pce
73-
* psx
74-
* sega32x
75-
* segaCD
76-
* segaGG
77-
* segaMD
78-
* segaMS
79-
* segaSaturn
80-
* segaSG
81-
* snes
82-
* vb
83-
* vectrex
84-
* ws
85-
86-
### Compatible and Tested Browsers
87-
88-
**Chromium Based Browsers**- This is the golden standard whether desktop or on mobile (Android) Chrome/Chromium/Brave/Edge should always be used. They have the best performance when it comes to WebAssembly.
89-
90-
**Firefox**- This will work (at reduced performance though) without tested controller support.
91-
92-
**Safari iOS**- Safari performs well and has controller support though in recent updates the amount of ram available to a single tab (~265MB) makes it impossible to run n64 emulation or anything CD based. Do not use [WKWebView](https://developer.apple.com/documentation/webkit/wkwebview) applications like Chrome or Firefox on iOS they will not be detected properly in the client software. Your best bet in iOS is to add the web page to your home screen from Safari and launch from there to get a full screen interface.
93-
94-
**Edge Xbox Series X/S**- This also performs well and was the basis of this project though recent console updates have knocked the ram available to a single tab from 1GB to 128MB making it impossible to run CD based games or n64.
95-
96-
### Navigation Basics
97-
98-
**Retroarch Menu**- The Retroarch menu can be accessed using F1 on keyboard, start/select/R1/L1 at the same time on controller, or pressing the button in the top left in touch mode.
99-
100-
**Fast Scrolling**- Items in the menu can be scrolled by letter by using PgUp/PgDn on the keyboard or the R1/L1 buttons on controller. In touch mode scrolling can be sped up by touching and dragging (while holding) either up or down.
101-
102-
**For Xbox users please click the select button a couple times after launching a game to ensure the B button does not trigger a "back" action in the browser. (official name "view button" it is the two small squares) Exiting the controller mode and back to browser controls can be triggered by holding the start button for 3 seconds. (official name "menu button" the three lines)**
103-
36+
app_setup_block: "The Backend can be accessed at:\n\n* http://yourhost:3000/\n\nThe first thing you will need to do is click to download the default art/configs from this interface, this will setup a skeleton directory in your `/data` mount. From there add roms to the respective `roms` directories and follow the on screen instructions to add them to your web frontend running on port 80.\n\n**I understand there may be some confusion as to project naming, but when this project (linuxserver/emulatorjs) started it was meant to be a simple frontend for self hosting folks to use the at the time deobfuscated code of [https://www.emulatorjs.com/](https://www.emulatorjs.com/) that [ethanaobrien](https://github.com/ethanaobrien) was working on. Since then [EmulatorJS](https://github.com/EmulatorJS/EmulatorJS) has evolved into it's own amazing project based on [Libretro](https://github.com/libretro) cores that have been highly optimized to function for web. This project mostly contains custom built libretro cores found [here](https://github.com/linuxserver/libretro-cores). So in general despite the naming of this project and the logo this is just a docker container with a web based backend for generating a useable self hosted emulation website and is in no way affiliated with [EmulatorJS](https://github.com/EmulatorJS/EmulatorJS).**\n\n**This container (outside of the profile functionality) only generates a static set of files that can be hosted on any web provider even object storage. Everything runs in the client's browser and there are no dependencies on this container. To extract/copy this website it is at the path `/emulatorjs/frontend` inside the container. If you are happy with the catalouge you have created and no longer want to run stuff like the IPFS backend or want to upload these files to some other hosting provider you can simply copy the contents of that directory and kill off this container. This container can also be started without IPFS once you collection is set using the environment variable `-e DISABLE_IPFS=true`.**\n\n### Read Only Rom Mounts\n\n**Mounting in existing rom directories Read Only can be achieved by using a special root path `/roms`, For example for NES:**\n\n`-v /path/to/nes/roms:/roms/nes:ro`\n\nThe folder names for systems are:\n* 3do\n* arcade\n* atari2600\n* atari5200\n* atari7800\n* colecovision\n* doom\n* gb\n* gba\n* gbc\n* jaguar\n* lynx\n* msx\n* n64\n* nds\n* nes\n* ngp\n* odyssey2\n* pce\n* psx\n* sega32x\n* segaCD\n* segaGG\n* segaMD\n* segaMS\n* segaSaturn\n* segaSG\n* snes\n* vb\n* vectrex\n* ws\n\n### Compatible and Tested Browsers \n\n**Chromium Based Browsers**- This is the golden standard whether desktop or on mobile (Android) Chrome/Chromium/Brave/Edge should always be used. They have the best performance when it comes to WebAssembly.\n\n**Firefox**- This will work (at reduced performance though) without tested controller support.\n\n**Safari iOS**- Safari performs well and has controller support though in recent updates the amount of ram available to a single tab (~265MB) makes it impossible to run n64 emulation or anything CD based. Do not use [WKWebView](https://developer.apple.com/documentation/webkit/wkwebview) applications like Chrome or Firefox on iOS they will not be detected properly in the client software. Your best bet in iOS is to add the web page to your home screen from Safari and launch from there to get a full screen interface.\n\n**Edge Xbox Series X/S**- This also performs well and was the basis of this project though recent console updates have knocked the ram available to a single tab from 1GB to 128MB making it impossible to run CD based games or n64.\n\n### Navigation Basics\n\n**Retroarch Menu**- The Retroarch menu can be accessed using F1 on keyboard, start/select/R1/L1 at the same time on controller, or pressing the button in the top left in touch mode.\n\n**Fast Scrolling**- Items in the menu can be scrolled by letter by using PgUp/PgDn on the keyboard or the R1/L1 buttons on controller. In touch mode scrolling can be sped up by touching and dragging (while holding) either up or down.\n\n**For Xbox users please click the select button a couple times after launching a game to ensure the B button does not trigger a \"back\" action in the browser. (official name \"view button\" it is the two small squares) Exiting the controller mode and back to browser controls can be triggered by holding the start button for 3 seconds. (official name \"menu button\" the three lines)**\n"
37+
# init diagram
38+
init_diagram: |
39+
"emulatorjs:latest": {
40+
docker-mods
41+
base {
42+
fix-attr +\nlegacy cont-init
43+
}
44+
docker-mods -> base
45+
legacy-services
46+
custom services
47+
init-services -> legacy-services
48+
init-services -> custom services
49+
custom services -> legacy-services
50+
legacy-services -> ci-service-check
51+
init-migrations -> init-adduser
52+
init-os-end -> init-config
53+
init-config -> init-config-end
54+
init-emulatorjs-config -> init-config-end
55+
init-os-end -> init-crontab-config
56+
init-mods-end -> init-custom-files
57+
init-config -> init-emulatorjs-config
58+
base -> init-envfile
59+
base -> init-migrations
60+
base -> init-mods
61+
init-config-end -> init-mods
62+
init-mods -> init-mods-end
63+
init-mods-package-install -> init-mods-end
64+
init-mods -> init-mods-package-install
65+
base -> init-os-end
66+
init-adduser -> init-os-end
67+
init-envfile -> init-os-end
68+
init-migrations -> init-os-end
69+
init-custom-files -> init-services
70+
init-mods-end -> init-services
71+
init-services -> svc-backend
72+
svc-backend -> legacy-services
73+
init-services -> svc-cron
74+
svc-cron -> legacy-services
75+
init-services -> svc-ipfs
76+
svc-ipfs -> legacy-services
77+
init-services -> svc-nginx
78+
svc-nginx -> legacy-services
79+
init-services -> svc-profile
80+
svc-profile -> legacy-services
81+
}
82+
Base Images: {
83+
"baseimage-alpine:3.19"
84+
}
85+
"emulatorjs:latest" <- Base Images
10486
# changelog
10587
changelogs:
10688
- {date: "28.01.24:", desc: "Skip IPFS config if DISABLE_IPFS is set as env variable."}

0 commit comments

Comments
 (0)