diff --git a/source/docs.md b/source/docs.md index a61eea5..f0ba98c 100644 --- a/source/docs.md +++ b/source/docs.md @@ -28,10 +28,9 @@ _This documentation is in the public domain._ ### Installation - #### Using SVR.JS installer (installer packages made in April 5, 2024 and later; GNU/Linux only) -The command for SVR.JS installation is available in [the SVR.JS home page](https://svrjs.org). First off, switch to _GNU/Linux_ tab, then copy the command below the tab. After starting the installer, you will be prompted to select the type of SVR.JS installation. After selecting the type, SVR.JS installer will install Node.JS, SVR.JS and create SVR.JS service. During installation, you may be prompted for the installation of dependencies. Once the installation is done, the server is already started at _http://localhost_. +The command for SVR.JS installation is available in [the SVR.JS home page](https://svrjs.org). First off, switch to _GNU/Linux_ tab, then copy the command below the tab. After starting the installer, you will be prompted to select the type of SVR.JS installation. After selecting the type, SVR.JS installer will install Node.JS, SVR.JS and create SVR.JS service. During installation, you may be prompted for the installation of dependencies. Once the installation is done, the server is started at _http://localhost_. File structure will look like this: @@ -85,6 +84,10 @@ Restart SVR.JS to get server interface. After running this command again, you'll get a web server on _http://localhost_. +#### Using Docker + +To install SVR.JS via Docker, first pull the image using `docker pull svrjs/svrjs` command, or `docker pull svrjs/svrjs:lts` command, if you wish to install LTS version of SVR.JS. Then create and start the Docker container using `docker run --name mysvrjs -d -p 80:80 --restart=always svrjs/svrjs` command (replace `mysvrjs` with desired Docker container name). The file structure is the same, as it would be installed via SVR.JS installer. Once the installation is done, the server is started at _http://localhost_. + #### Manual installation To install SVR.JS manually, first unpack your SVR.JS zip archive you downloaded from SVR.JS download page. Then change your working directory to one containing SVR.JS script stub, and run `node svr.js` for SVR.JS 3.x or `node svr_new.js` for earlier versions or `bun run svr.js` if you're using Bun instead of Node.JS. diff --git a/source/otherdownloads.md b/source/otherdownloads.md index 8c820f4..e5a8c37 100644 --- a/source/otherdownloads.md +++ b/source/otherdownloads.md @@ -28,6 +28,10 @@ You can download SVR.JS installer [here](https://downloads.svrjs.org/installer). You can use `create-svrjs-server ` command to install and update SVR.JS. You can install this tool using `npm install -g svrjs` command. [Read about how to use _create-svrjs-server_ tool.](https://www.npmjs.com/package/svrjs) +## SVR.JS Docker image + +You can pull the [SVR.JS Docker image](https://hub.docker.com/r/svrjs/svrjs) from the Docker Hub using `docker pull svrjs/svrjs` command. + ## Download through Tor hidden service You can download SVR.JS through [a Tor hidden service](https://svrjstn3fs2uaoyjks4rd7f5vptg4fsjarqvjzqqfrfomliagl5z3mqd.onion) (requires Tor connection). diff --git a/themes/svrjswebsite/source/js/indextabs.js b/themes/svrjswebsite/source/js/indextabs.js index 6d623c1..5483cdc 100644 --- a/themes/svrjswebsite/source/js/indextabs.js +++ b/themes/svrjswebsite/source/js/indextabs.js @@ -4,7 +4,7 @@ function escapeHTML(source) { function decodeHTML(html) { var txt = document.createElement("textarea"); - txt.innerHTML = html; + txt.innerHTML = html.replace(/
/g,"\n"); return txt.value; } @@ -13,6 +13,10 @@ var tabs = [ name: "GNU/Linux", command: "curl -fsSL https://downloads.svrjs.org/installer/svr.js.installer.linux.20240506.sh > /tmp/installer.sh && sudo bash /tmp/installer.sh", uaRegex: /\b(?:GNU\/)?Linux\b/gi + }, + { + name: "Docker", + command: "docker pull svrjs/svrjs\ndocker run --name mysvrjs -d -p 80:80 --restart=always svrjs/svrjs" } ]; @@ -29,7 +33,7 @@ if (tabs.length > 0) { tabsHTML += escapeHTML(tabs[i].name); } tabsHTML += ""; - if (tabToClick == tabs.length && i != tabs.length && navigator.userAgent.match(tabs[i].uaRegex)) tabToClick = i; + if (tabToClick == tabs.length && i != tabs.length && tabs[i].uaRegex && navigator.userAgent.match(tabs[i].uaRegex)) tabToClick = i; } otherTab.outerHTML = "
" + tabsHTML + "
"; var tabContainer = document.getElementById("command-tab-container");