diff --git a/README.md b/README.md
index b65c7c4..afd0783 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@
A not so terrible web ui for yt-dlp.
Created for the only purpose of *fetching* videos from my server/nas.
-Intended to be used with docker but standalone is fine too. 😎👍
+Intended to be used with docker and in standalone mode. 😎👍
Developed to be as lightweight as possible (because my server is basically an intel atom sbc).
@@ -45,39 +45,36 @@ Refactoring and JSDoc.
08/06/22: ARM builds.
28/02/22: Reworked resume download feature. Now it's pratically instantaneous. It no longer stops and restarts each process, references to each process are saved in memory.
+
+12/01/23: Switched from TypeScript to Golang on the backend. It was a great effort but it was worth it.
```
-
-
-## Now with dark mode
-
-
+
+
## Settings
-The avaible settings are currently only:
+The currently avaible settings are:
- Server address
- Switch theme
- Extract audio
- Switch language
- Optional format selection
+- Override the output filename
+- Override the output path
+- Pass custom yt-dlp arguments safely
-
-
-
+
+
## Format selection
-
+
-This feature is disabled by default as this WebUI/Wrapper/Software/Bunch of Code is intended to be used to retrieve the best quality automatically.
+This feature is disabled by default as this intended to be used to retrieve the best quality automatically.
-To enable it go to the settings page:
-
-
-
-And set it :D
+To enable it just go to the settings page and enable the **Enable video/audio formats selection** flag!
Future releases will have:
- ~~Multi download~~ *done*
@@ -87,15 +84,13 @@ Future releases will have:
- ~~ARM Build~~ *done available through ghcr.io*
## Troubleshooting
-- **It says that it isn't connected/ip in the footer is not defined.**
+- **It says that it isn't connected/ip in the header is not defined.**
- You must set the server ip address in the settings section (gear icon).
- **The download doesn't start.**
- As before server address is not specified or simply yt-dlp process takes a lot of time to fire up. (Forking yt-dlp isn't fast especially if you have a lower-end/low-power NAS/server/desktop where the server is running)
-- **Background jobs are not retrieved.**
- - ~~As before forking yt-dlp isn't fast so resuming n background jobs takes _n_*_time to exec yt-dlp_ Just have patience.~~ Fixed.
## Docker installation
-```shell
+```sh
# recomended for ARM and x86 devices
docker pull ghcr.io/marcopeocchi/yt-dlp-web-ui:master
docker run -d -p 3022:3022 -v :/usr/src/yt-dlp-webui/downloads ghcr.io/marcopeocchi/yt-dlp-web-ui:master
@@ -105,26 +100,72 @@ docker pull ghcr.io/marcopeocchi/yt-dlp-web-ui:master
docker create --name yt-dlp-webui -p 8082:3022 -v :/usr/src/yt-dlp-webui/downloads ghcr.io/marcopeocchi/yt-dlp-web-ui:master
```
-or
+Or with docker but building the container manually.
-```shell
+```sh
docker build -t yt-dlp-webui .
docker run -d -p 3022:3022 -v :/usr/src/yt-dlp-webui/downloads yt-dlp-webui
```
-## Manual installation
+## [Prebuilt binaries](https://github.com/marcopeocchi/yt-dlp-web-ui/releases) installation
+
+```sh
+# download the latest release from the releases page
+mv yt-dlp-webui_linux-[your_system_arch] /usr/local/bin/yt-dlp-webui
+
+# /home/user/downloads as an example and yt-dlp in $PATH
+yt-dlp-webui --out /home/user/downloads
+
+# specifying yt-dlp path
+yt-dlp-webui --out /home/user/downloads --driver /opt/soemdir/yt-dlp
+
+# specifying using a config file
+yt-dlp-webui --conf /home/user/.config/yt-dlp-webui.conf
+```
+
+### Config file
+By running `yt-dlp-webui` in standalone mode you have the ability to also specify a config file.
+The config file **will overwrite what have been passed as cli argument**.
+
+```yaml
+# Simple configuration file for yt-dlp webui
+
+---
+port: 8989
+downloadPath: /home/ren/archive
+downloaderPath: /usr/local/bin/yt-dlp
+```
+
+### Systemd integration
+By defining a service file in `/etc/systemd/system/yt-dlp-webui.service` yt-dlp webui can be launched as in background.
+
+```
+[Unit]
+Description=yt-dlp-webui service file
+After=network.target
+
+[Service]
+User=some_user
+ExecStart=/usr/local/bin/yt-dlp-webui --out /mnt/share/downloads --port 8100
+
+[Install]
+WantedBy=multi-user.target
+```
+
```shell
-# the dependencies are: python3, ffmpeg, nodejs, psmisc.
+systemctl enable yt-dlp-webui
+systemctl start yt-dlp-webui
+```
+## Manual installation
+```sh
+# the dependencies are: python3, ffmpeg, nodejs, psmisc, go.
+
+cd frontend
npm i
-npm run build-all
+npm run build
-# edit the settings.json specifying port and download path or
-# it will default to the following created folder
-
-mkdir downloads
-
-node dist/main.js
+go build -o yt-dlp-webui main.go
```
## FAQ
@@ -136,7 +177,9 @@ node dist/main.js
If you plan to use it on a Raspberry Pi ensure to have fast and durable storage.
- **Why the docker image is so heavy?**
- Originally it was 1.8GB circa, now it has been slimmed to ~340MB compressed. This is due to the fact that it encapsule a basic Alpine linux image + FFmpeg + Node.js + Python3 + yt-dlp.
-- **Am I forced to run it on port 3022?**
- - Well, yes (until now).
+
- **Why is it so slow to start a download?**
- I genuinely don't know. I know that standalone yt-dlp is slow to start up even on my M1 Mac, so....
+
+## What yt-dlp-webui is not
+`yt-dlp-webui` isn't your ordinary website where downloading stuff from the internet, so don't try asking for links of where this is hosted. It's a self hosted platform for a Linux NAS.
\ No newline at end of file