diff --git a/.github/workflows/upload_docs.yml b/.github/workflows/upload_docs.yml
index 012b5a36..186c8eac 100644
--- a/.github/workflows/upload_docs.yml
+++ b/.github/workflows/upload_docs.yml
@@ -15,7 +15,7 @@ jobs:
python-version: 3.9
- name: Install dependencies
- run: pip install mkdocs-material
+ run: pip install mkdocs-material mkdocs-static-i18n
- name: Deploy documentation
run: mkdocs gh-deploy --force
\ No newline at end of file
diff --git a/docs/assets/images/all_tests.png b/docs/assets/images/all_tests.png
deleted file mode 100644
index a1a568f5..00000000
Binary files a/docs/assets/images/all_tests.png and /dev/null differ
diff --git a/docs/assets/images/de/integrations.png b/docs/assets/images/de/integrations.png
new file mode 100644
index 00000000..2ded8916
Binary files /dev/null and b/docs/assets/images/de/integrations.png differ
diff --git a/docs/assets/images/de/interface.png b/docs/assets/images/de/interface.png
new file mode 100644
index 00000000..6a11d01f
Binary files /dev/null and b/docs/assets/images/de/interface.png differ
diff --git a/docs/assets/images/de/latest.png b/docs/assets/images/de/latest.png
new file mode 100644
index 00000000..d054fae7
Binary files /dev/null and b/docs/assets/images/de/latest.png differ
diff --git a/docs/assets/images/de/settings.png b/docs/assets/images/de/settings.png
new file mode 100644
index 00000000..44711267
Binary files /dev/null and b/docs/assets/images/de/settings.png differ
diff --git a/docs/assets/images/de/tests.png b/docs/assets/images/de/tests.png
new file mode 100644
index 00000000..8477f9e8
Binary files /dev/null and b/docs/assets/images/de/tests.png differ
diff --git a/docs/assets/images/de/view.png b/docs/assets/images/de/view.png
new file mode 100644
index 00000000..dcc0aea7
Binary files /dev/null and b/docs/assets/images/de/view.png differ
diff --git a/docs/assets/images/en/integrations.png b/docs/assets/images/en/integrations.png
new file mode 100644
index 00000000..d2ba0c2d
Binary files /dev/null and b/docs/assets/images/en/integrations.png differ
diff --git a/docs/assets/images/en/interface.png b/docs/assets/images/en/interface.png
new file mode 100644
index 00000000..f7ca61a4
Binary files /dev/null and b/docs/assets/images/en/interface.png differ
diff --git a/docs/assets/images/en/latest.png b/docs/assets/images/en/latest.png
new file mode 100644
index 00000000..00c7bace
Binary files /dev/null and b/docs/assets/images/en/latest.png differ
diff --git a/docs/assets/images/en/settings.png b/docs/assets/images/en/settings.png
new file mode 100644
index 00000000..b9a5f3ae
Binary files /dev/null and b/docs/assets/images/en/settings.png differ
diff --git a/docs/assets/images/en/tests.png b/docs/assets/images/en/tests.png
new file mode 100644
index 00000000..7efbd03e
Binary files /dev/null and b/docs/assets/images/en/tests.png differ
diff --git a/docs/assets/images/en/view.png b/docs/assets/images/en/view.png
new file mode 100644
index 00000000..794fbb51
Binary files /dev/null and b/docs/assets/images/en/view.png differ
diff --git a/docs/assets/images/myspeed_interface.png b/docs/assets/images/myspeed_interface.png
deleted file mode 100644
index 26f6b0de..00000000
Binary files a/docs/assets/images/myspeed_interface.png and /dev/null differ
diff --git a/docs/assets/images/settings.png b/docs/assets/images/settings.png
deleted file mode 100644
index c404a542..00000000
Binary files a/docs/assets/images/settings.png and /dev/null differ
diff --git a/docs/faq.md b/docs/faq.de.md
similarity index 84%
rename from docs/faq.md
rename to docs/faq.de.md
index 9ac9c95f..03a59074 100644
--- a/docs/faq.md
+++ b/docs/faq.de.md
@@ -2,12 +2,12 @@
Hier beantworten wir dir die Fragen, die möglicherweise auftreten könnten.
??? question "Wie installiere ich MySpeed?"
- Je nach Betriebssystem ist diese Anleitung unterschiedlich. Hier findest du die Anleitung für [Windows](/setup/windows) und [Linux](/setup/linux).
+ Je nach Betriebssystem ist diese Anleitung unterschiedlich. Hier findest du die Anleitung für [Windows](../setup/windows) und [Linux](../setup/linux).
Allerdings wird es stark empfohlen, MySpeed unter Linux zu installieren.
??? question "Was sind die Anforderungen?"
Es kommt darauf an, was für eine Bandbreite du hast. Bei Linux wäre es zum Beispiel so:
- Wenn du ein Maximum von 100 Mbits anliegen hast, dann reicht ein RaspberryPi 1 oder ein anderer alter Computer.
+ Wenn du ein Maximum von 100 Mbit/s anliegen hast, dann reicht ein RaspberryPi 1 oder ein anderer alter Computer.
Wenn du eine Gbit-Leitung hast, wäre schon ein Raspberry Pi 4 oder ein PC mit 1Gbit LAN Support wichtig.
??? question "Kann ich trotz VPN MySpeed verwenden?"
@@ -19,10 +19,12 @@ Hier beantworten wir dir die Fragen, die möglicherweise auftreten könnten.
MySpeed dient in dem Fall nur zu Informationszwecken und hat keinerlei rechtliche Garantien.
??? question "Was kann die Speedtests beeinflussen?"
- Im Grunde das übermäßige Nutzen der verfügbaren Bandbreite, was an sich gut ist. So siehst du dann auch, wie viel noch zur Verfügung steht.
+ Es gibt viele Faktoren, die die Geschwindigkeitstests beeinflussen können. Wenn Sie zum Beispiel viele Hintergrunddienste haben
+ laufen, können diese die Ergebnisse beeinflussen. Am besten schalten Sie diese zu den jeweiligen Testzeiten ab, da sonst die
+ Ergebnisse verfälscht werden könnten.
??? question "Was passiert mit den alten Testergebnissen?"
- Die alten Testergebnisse werden automatisch gelöscht, sobald sie älter als 24 Stunden sind.
+ Die alten Testergebnisse werden automatisch gelöscht, sobald sie älter als 30 Tage sind.
??? question "Muss es dauerhaft laufen?"
Wir empfehlen es, um bessere Ergebnisse zu erhalten. Wenn es dich beim Filme streamen etc. stört,
@@ -46,7 +48,7 @@ Hier beantworten wir dir die Fragen, die möglicherweise auftreten könnten.
Es ist sehr wahrscheinlich, dass Hintergrunddienste deine Geschwindigkeiten beeinflussen. Schalte diese am besten bei den jeweiligen Testzeiten ab, da sonst dein Ergebnis manipuliert werden könnte.
??? question "Wie setze ich mein Passwort zurück?"
- Du hast dein MySpeed-Passwort vergessen? Das passiert, kein Problem. Zum zurücksetzen navigiere in den Installationsort (`cd /opt/myspeed`) und führe den folgenden Befehl aus:
+ Du hast dein MySpeed-Passwort vergessen? Das passiert, kein Problem. Zum Zurücksetzen navigiere in den Installationsort (`cd /opt/myspeed`) und führe den folgenden Befehl aus:
```sh
node -e "const {Sequelize} = require('sequelize');const db = new Sequelize({dialect: 'sqlite', storage: 'data/storage.db'});db.query('UPDATE config SET value=? WHERE key=?', {replacements: ['none', 'password']})"
```
diff --git a/docs/faq.en.md b/docs/faq.en.md
new file mode 100644
index 00000000..d9d24ec6
--- /dev/null
+++ b/docs/faq.en.md
@@ -0,0 +1,61 @@
+# Questions & Answers
+
+Here we answer the questions you might have.
+
+??? question "How do I install MySpeed?"
+ Depending on your operating system these instructions are different. Here you can find the instructions
+ for [Windows](../setup/windows) and [Linux](../setup/linux).
+ However, it is strongly recommended to install MySpeed on Linux.
+
+??? question "What are the requirements?"
+ It depends on what kind of bandwidth you have. For Linux, for example, it would be like this:
+ If you have a maximum of 100 Mbps on, then a RaspberryPi 1 or any other old computer will do the trick.
+ If you have a Gbit line, a Raspberry Pi 4 or a PC with 1Gbit LAN support would be important.
+
+??? question "Can I use MySpeed despite VPN?"
+ As long as you don't use your VPN service on the same system as the one where MySpeed is running, it's not a problem.
+ Otherwise, your VPN might distort the results or not reflect them realistically.
+
+??? question "Does this information serve as official proof for my ISP?"
+ No. The speed tests have to be done by the speed test service of your provider.
+ In this case MySpeed serves only for information purposes and has no legal guarantees.
+
+??? question "What can influence the speed tests?"
+ There are many factors that can influence the speed tests. For example, if you have a lot of background services
+ running, they can affect the results. It is best to turn them off at the respective test times, otherwise your
+ results could be manipulated.
+
+??? question "What happens to the old test results?"
+ The old test results are automatically deleted as soon as they are older than 30 days.
+
+??? question "Does it have to run permanently?"
+ We recommend it to get better results. If it bothers you while streaming movies etc.,
+ you can also pause it via the web interface for a certain time or manually.
+ For 24/7 operation, we recommend a system that doesn't need a lot of watts. In this case we recommend a Raspberry Pi.
+ If you already have a server running all the time, you can also run it there in parallel.
+
+??? question "How can I distinguish between manual and automatic speed tests?"
+ Click on the clock symbol of the respective test. There you will find all information about the speed test.
+
+??? question "Does the "Recommendations" function show my correct bandwidth?"
+ No, this is a calculated value from your last 10 speed tests. The available bandwidth will be found in your connection
+ contract.
+
+??? question "Can the developer see my test results?"
+ No, the test results are only visible locally on the server.
+
+??? question "Why should I configure frequencies?"
+ It depends very much on your internet. For example, if you have a very bad internet, you should rather decrease the
+ frequency. If your internet is quite fast, you can increase it. On this basis, more or less tests will be made,
+ depending on the situation.
+
+ ???+ warning "Attention"
+ It is very likely that background services are affecting your speeds. It is best to turn them off at the respective test times, otherwise your results could be manipulated.
+
+??? question "How do I reset my password?"
+ You forgot your MySpeed password? It happens, no problem. To reset it, navigate to the installation
+ location (`cd /opt/myspeed`) and execute the following command:
+ ```sh
+ node -e "const {Sequelize} = require('sequelize');const db = new Sequelize({dialect: 'sqlite', storage: 'data/storage.db'});db.query('UPDATE config SET value=? WHERE key=?', {replacements: ['none', 'password']})"
+ ```
+ Then you can go to the page again and set your password manually :)
\ No newline at end of file
diff --git a/docs/guides/reverse-proxy.md b/docs/guides/reverse-proxy.de.md
similarity index 98%
rename from docs/guides/reverse-proxy.md
rename to docs/guides/reverse-proxy.de.md
index 0b366a7e..378a9251 100644
--- a/docs/guides/reverse-proxy.md
+++ b/docs/guides/reverse-proxy.de.md
@@ -1,3 +1,5 @@
+# Konfiguration eines Reverse Proxies
+
In diesem Guide wird erklärt, wie du mithilfe von `apache` oder `nginx` einen Reverse Proxy mit MySpeed einrichtest.
!!! tip "Warum einen Reverse Proxy verwenden?"
diff --git a/docs/guides/reverse-proxy.en.md b/docs/guides/reverse-proxy.en.md
new file mode 100644
index 00000000..c2bc47f1
--- /dev/null
+++ b/docs/guides/reverse-proxy.en.md
@@ -0,0 +1,103 @@
+This guide explains how to set up a reverse proxy with MySpeed using `apache` or `nginx`.
+
+!!! tip "Why use a reverse proxy?"
+ In this case we use a reverse proxy as an intermediate layer between you and MySpeed.
+ This has the advantage that you don't have to call MySpeed via a port, but via a normal domain.
+
+## Installation
+If you already have a reverse proxy installed, you can skip this step. Which of the two
+reverse proxies you want to use is up to you. However, we recommend `nginx` for this guide.
+
+=== "nginx"
+ ```sh
+ sudo apt-get install nginx -y
+ ```
+
+=== "apache"
+ ```sh
+ sudo apt-get install apache2 -y
+ ```
+
+## Configuring MySpeed
+
+This section explains how to connect MySpeed to your reverse proxy. Again, select here
+which reverse proxy you used.
+
+=== "nginx"
+ Now create a file named `myspeed.conf` under `/etc/nginx/sites-available`. Here we use `nano`
+ ```sh
+ sudo nano /etc/nginx/sites-available/myspeed.conf
+ ```
+ Now add the following content to the file:
+ ```nginx
+ server {
+ listen 80;
+ listen [::]:80;
+
+ server_name your-domain.com;
+
+ location / {
+ proxy_pass http://localhost:5216;
+ }
+ }
+ ```
+ Now you just have to activate the file and restart the reverse proxy.
+ ```sh
+ sudo ln -s /etc/nginx/sites-available/myspeed.conf /etc/nginx/sites-enabled/myspeed.conf
+ sudo systemctl restart nginx
+ ```
+
+=== "apache"
+ Now create a file named `myspeed.conf` under `/etc/apache2/sites-available`. Here we use `nano`
+ ```sh
+ sudo nano /etc/apache2/sites-available/myspeed.conf
+ ```
+ Now add the following content to the file:
+ ```apache
+
+ ServerName your-domain.com
+
+ ProxyPreserveHost On
+ ProxyPass / http://localhost:5216/
+ ProxyPassReverse / http://localhost:5216/
+
+ ```
+ Now enable the `mod_proxy` and `mod_proxy_http` modules.
+ ```sh
+ sudo a2enmod proxy
+ sudo a2enmod proxy_http
+ ```
+ Now you just have to activate the file and restart the reverse proxy.
+ ```sh
+ sudo a2ensite myspeed.conf
+ sudo systemctl restart apache2
+ ```
+
+## Configuring an SSL certificate with Let's Encrypt
+
+This section explains how to set up an SSL certificate from Let's Encrypt for MySpeed.
+
+!!! tip "Are you using Cloudflare?"
+ If you use Cloudflare and don't want to set up an SSL certificate from Let's Encrypt, you can just use the
+ simply activate the Cloudflare proxy function. This is sufficient in most cases. If you
+ decide to use the Cloudflare proxy, you can skip this section.
+
+=== "nginx"
+ First you need to install certbot. For this we use `apt`.
+ ```sh
+ sudo apt-get install certbot python3-certbot-nginx -y
+ ```
+ Now you need to run Certbot and specify the domain you want to set up the certificate for.
+ ```sh
+ sudo certbot --nginx -d your-domain.com
+ ```
+
+=== "apache"
+ First you need to install certbot. For this we use `apt`.
+ ```sh
+ sudo apt-get install certbot python3-certbot-apache -y
+ ```
+ Now you need to run Certbot and specify the domain you want to set up the certificate for.
+ ```sh
+ sudo certbot --apache -d your-domain.com
+ ```
\ No newline at end of file
diff --git a/docs/index.de.md b/docs/index.de.md
new file mode 100644
index 00000000..1e4ba932
--- /dev/null
+++ b/docs/index.de.md
@@ -0,0 +1,39 @@
+# MySpeed Dokumentation
+
+In dieser Dokumentation wird dir erklärt, wie du MySpeed auf einem Server deiner Wahl installierst, einstellst und
+verwendest.
+
+!!! note ""
+ Hast du noch einen Vorschlag oder einen Bug gefunden? Dann öffne doch
+ ein [Issue](https://github.com/gnmyt/myspeed/issues) oder schreibe mir eine Nachricht
+ auf [Discord (GNM#0001)](https://discord.com/users/386242172632170496)
+
+## Was ist das überhaupt?
+
+MySpeed ist eine Speedtest-Analyse-Software, welche die Geschwindigkeit deines Internets bis zu 30 Tage lang speichert.
+Das kann auch dann nützlich sein, wenn du wissen möchtest, wann dein Netzwerk möglicherweise Einbrüche hat oder wenn du
+überprüfen möchtest, ob dein Internet mit den gebuchten Werten aus deinem Vertrag übereinstimmt.
+
+Es wird empfohlen, die Software Zuhause zu installieren. Sie lässt sich selbstverständlich aber auch auf einem Server in
+einem Rechenzentrum installieren, falls du das möchtest. ;)
+
+## Wie funktioniert das?
+
+MySpeed erstellt jede Stunde automatisiert Tests, welche du dir in einem Dashboard dann ansehen kannst. Ist ein Test
+älter als 30 Tage, so wird er gelöscht, um das Dashboard übersichtlicher zu halten.
+
+## Was brauche ich?
+
+Zusammengefasst nur ein Gerät, welches in der Lage ist, **24/7** zu laufen und von **NodeJS** unterstützt wird. Dazu
+gehören unter anderem Windows, macOS oder Linux.
+
+Auch wenn es möglich ist, das System auf einem normalen Rechner zu installieren, wird es empfohlen, es auf einem Gerät
+zu installieren, welches wenig Strom verbraucht. Perfekt dafür geeignet wäre beispielsweise ein
+sogenannter [Raspberry Pi](https://www.raspberrypi.com/) oder andere [Mini-PCs](https://www.amazon.de/s?k=mini+pc).
+
+## :heart: Und ein großes Danke an ...
+
+- [Sierra Devoplers](https://sierra-dev.de/myspeed) für die dort erstellte Seite
+- [Ookla](https://www.ookla.com/) für die Testdaten und das großartige Testnetzwerk
+- [Alle Übersetzer](https://crowdin.com/project/myspeed) für das Anbieten in verschiedenen Sprachen
+- [Alle Mitwirkende](https://github.com/gnmyt/myspeed/graphs/contributors) für ihre Hilfe und die Arbeit in das Projekt
\ No newline at end of file
diff --git a/docs/index.en.md b/docs/index.en.md
new file mode 100644
index 00000000..3740a3a5
--- /dev/null
+++ b/docs/index.en.md
@@ -0,0 +1,37 @@
+# MySpeed Documentation
+
+This documentation explains how to install, configure and use MySpeed on a server of your choice.
+
+!!! note ""
+ Did you find another suggestion or bug? Then open an [Issue](https://github.com/gnmyt/myspeed/issues) or write me a
+ message on [Discord (GNM#0001)](https://discord.com/users/386242172632170496)
+
+## What is it?
+
+MySpeed is a speed test analysis software that stores the speed of your internet for up to 30 days. This can also be
+useful if you want to know when your network might have drops or if you want to check if your internet matches the
+booked values from your contract.
+
+It is recommended to install the software at home. Of course, it can also be installed on a server in a data center, if
+you wish ;)
+
+## How does it work?
+
+MySpeed automatically creates tests every hour, which you can view in a dashboard. If a test is older than 30 days, it
+will be deleted to keep the dashboard clearer.
+
+## What do I need?
+
+In summary, just a device that is capable of running **24/7** and is supported by **NodeJS**. This includes Windows,
+macOS or Linux, among others.
+
+Even though it is possible to install the system on a normal computer, it is recommended to install it on a device that
+consumes little power. Perfect for this would be for example a so-called [Raspberry Pi](https://www.raspberrypi.com/) or
+other [Mini-PCs](https://www.amazon.de/s?k=mini+pc).
+
+## :heart: And a big thanks to ...
+
+- [Sierra Devoplers](https://sierra-dev.de/myspeed) for the page created there
+- [Ookla](https://www.ookla.com/) for the test data and the great test network
+- [All translators](https://crowdin.com/project/myspeed) for providing it in different languages
+- [All contributors](https://github.com/gnmyt/myspeed/graphs/contributors) for their help and work into the project
\ No newline at end of file
diff --git a/docs/index.md b/docs/index.md
deleted file mode 100644
index b3f19b7f..00000000
--- a/docs/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# MySpeed Dokumentation
-In dieser Dokumentation wird dir erklärt, wie du MySpeed auf einem Server deiner Wahl installierst, einstellst und verwendest.
-!!! note ""
- Hast du noch einen Vorschlag oder einen Bug gefunden? Dann öffne doch ein [Issue](https://github.com/gnmyt/myspeed/issues) oder schreibe mir eine Nachricht auf [Discord (GNM#0001)](https://discord.com/users/386242172632170496)
-
-## Was ist das überhaupt?
-MySpeed ist eine deutschsprachige Software, welche dir hilft, dein Internet in den letzten 24 Stunden nachzuvollziehen. Das kann auch dann nützlich sein, wenn du wissen möchtest, wann dein Netzwerk möglicherweise Einbrüche hat oder wenn du überprüfen möchtest, ob dein Internet mit den gebuchten Werten aus deinem Vertrag übereinstimmt.
-
-Es wird empfohlen, die Software Zuhause zu installieren. Sie lässt sich selbstverständlich aber auch auf einem Server in einem Rechenzentrum installieren, falls du das möchtest. ;)
-
-## Wie funktioniert das?
-MySpeed erstellt jede Stunde automatisiert Tests, welche du dir in einem Dashboard dann ansehen kannst. Ist ein Test älter als 24 Stunden, so wird er gelöscht, um das Dashboard übersichtlicher zu halten.
-
-## Was brauche ich?
-Zusammengefasst nur ein Gerät, welches in der Lage ist, **24/7** zu laufen und von **NodeJS** unterstützt wird. Dazu gehören unter anderem Windows, macOS oder Linux.
-
-Auch wenn es möglich ist, das System auf einem normalen Rechner zu installieren, wird es empfohlen, es auf einem Gerät zu installieren, welches wenig Strom verbraucht. Perfekt dafür geeignet wäre beispielsweise ein sogenannter [Raspberry Pi](https://www.raspberrypi.com/) oder andere [Mini-PCs](https://www.amazon.de/s?k=mini+pc).
-
-## :heart: Und ein großes Danke an ...
-- [Sierra Devoplers](https://sierra-dev.de/myspeed) für die dort erstellte Seite
-- [Ookla](https://www.ookla.com/) für die Testdaten und das großartige Testnetzwerk
-- [Alle Übersetzer](https://crowdin.com/project/myspeed) für das anbieten in verschiedenen Sprachen
-- [Alle Mitwirkende](https://github.com/gnmyt/myspeed/graphs/contributors) für ihre Hilfe und die Arbeit in das Projekt
\ No newline at end of file
diff --git a/docs/instructions/main.md b/docs/instructions/main.de.md
similarity index 55%
rename from docs/instructions/main.md
rename to docs/instructions/main.de.md
index 1e622fbb..7d8ba62d 100644
--- a/docs/instructions/main.md
+++ b/docs/instructions/main.de.md
@@ -5,7 +5,7 @@ jedoch zu vermeiden, wird alles hier noch einmal erklärt.
## Die Oberfläche
-![MySpeed Oberfläche](/assets/images/myspeed_interface.png){: align="left" }
+![MySpeed Oberfläche](/assets/images/de/interface.png){: align="left" }
Die Oberfläche von MySpeed ist in **3** Teile unterteilt.
@@ -14,24 +14,22 @@ eines Speedtests. Auf die Einstellungen wird [hier](../settings) genauer eingega
Im **zweiten** Teil wird immer der aktuellste Speedtest angezeigt.
-Der **dritte** Teil zeigt alle Speedtests der letzten 24 Stunden an.
+Der **dritte** Teil zeigt alle erstellten Speedtests an.
## Letzter Test
-
-![Letzter Test](/assets/images/latest_test.png){align="left"}
+![Letzter Test](/assets/images/de/latest.png){align="left"}
Dieses Teil zeigt immer den aktuellsten, also zuletzt erstellten Speedtest an. Klickt man auf ein Icon, öffnet sich
-das jeweilige Hilfe-Menü mit mehr Infos
+das jeweilige Hilfe-Menü mit mehr Informationen
## Übersicht aller Tests
-![Letzter Test](/assets/images/all_tests.png){align="left"}
+![Letzter Test](/assets/images/de/tests.png){align="left"}
-Hier lassen sich alle Tests anzeigen, die in den letzten 24 Stunden erstellt wurden. Auch hier kann man wieder auf das
-Ping, Down und Upload-Icon klicken, um ein Hilfe-Menü zu öffnen. Es lässt sich allerdings jetzt auch auf die Uhr links
-klicken, um einen Dialog mit weiteren Informationen zu öffnen. Dieser Dialog zeigt nun weitere Infos über den Test und
+Hier lassen sich alle Tests anzeigen, die erstellt wurden. Es lässt sich jetzt auch auf die Uhr links klicken, um
+einen Dialog mit weiteren Informationen zu öffnen. Dieser Dialog zeigt nun weitere Informationen über den Test und
bietet sogar die Möglichkeit, ihn direkt zu löschen (falls nötig).
diff --git a/docs/instructions/main.en.md b/docs/instructions/main.en.md
new file mode 100644
index 00000000..9cd3be1d
--- /dev/null
+++ b/docs/instructions/main.en.md
@@ -0,0 +1,35 @@
+# The interface
+
+MySpeed's interface is designed from the ground up to be easy to use. However, to avoid possible confusion,
+everything is explained here.
+
+## The user interface
+
+![MySpeed interface](/assets/images/en/interface.png){: align="left" }
+
+The interface of MySpeed is divided into **3** parts.
+
+The **first** part is the so-called header and contains direct access to the settings and the start of a speed test.
+The settings are described in more detail [here](../settings).
+
+The **second** part always shows the most recent speedtest.
+
+The **third** part shows all created speedtests.
+
+
+
+## Last test
+![Last test](/assets/images/en/latest.png){align="left"}
+
+This part always shows the most recent, i.e. last created speedtest. If you click on an icon, the respective help menu will open
+with more information
+
+
+
+## Overview of all tests
+
+![Last test](/assets/images/en/tests.png){align="left"}
+
+Here you can view all tests that have been created. Now you can also click on the clock on the left to open a dialog
+with more information. This dialog now shows more information about the test and even offers the possibility to delete
+it directly (if necessary).
\ No newline at end of file
diff --git a/docs/instructions/settings.md b/docs/instructions/settings.de.md
similarity index 64%
rename from docs/instructions/settings.md
rename to docs/instructions/settings.de.md
index 127a58f6..5bb6d5a2 100644
--- a/docs/instructions/settings.md
+++ b/docs/instructions/settings.de.md
@@ -1,6 +1,6 @@
# Einstellungen
-![Letzter Test](/assets/images/settings.png){align="right"}
+![Letzter Test](/assets/images/de/settings.png){align="right"}
Mit einem Klick auf das **Einstellungs-Icon :material-cog:** öffnet sich die Einstellungsseite. Du findest ein Beispiel
dazu rechts.
@@ -8,7 +8,13 @@ dazu rechts.
In diesem Menü lassen sich sowohl Einstellungen als auch Funktionen wie das Exportieren von Tests wiederfinden.
Um das Design übersichtlicher zu gestalten, finden sich die Einstellungen bezogen auf das Internet in den ersten 4
-Zeilen und die sonstigen Funktionen in den Zeilen darunter.
+Zeilen.
+
+Alle Optionen, die sich auf Speedtests beziehen, sind im 2. Kasten zu finden. Hier kannst du z.B. die Häufigkeit der
+Tests einstellen oder einen Server auswählen.
+
+Im 3. Kasten findest du Einstellungen, die sich auf das Interface beziehen. Hier kannst du z.B. die Sprache ändern oder
+die Ansicht wechseln.
@@ -31,6 +37,10 @@ Hierbei handelt es sich um Einstellungen, die sich auf dein optimales Internet b
=== ":material-arrow-down: Down-Speed"
Der Down-Speed ist die Geschwindigkeit, mit der dein Computer Daten empfängt. Je höher der Wert, desto besser.
+=== ":material-auto-fix: Optimale Werte"
+ Wenn du nicht weißt, welche Werte du hier eingeben sollst, kannst du diese Schaltfläche verwenden. MySpeed wird
+ dann versuchen, die optimalen Werte für dich zu ermitteln.
+
## Speedtest-Einstellungen
=== ":material-server: Server wechseln"
@@ -38,6 +48,10 @@ Hierbei handelt es sich um Einstellungen, die sich auf dein optimales Internet b
Server finden, kannst du diesen hier auswählen. Du kannst hierbei einen aus der Liste wählen oder eine ID eingeben.
Mehr dazu erfährst du [hier](https://www.ookla.com/network)
+=== ":material-key: Passwort ändern"
+ Ist deine MySpeed-Instanz öffentlich und du möchtest nicht, dass andere oder nur autorisierte Personen deine Internetgeschwindigkeit
+ einsehen können? Dann kannst du hier MySpeed mit einem Passwort schützen, welches beim Besuch der Seite eingegeben werden muss.
+
=== ":material-clock: Häufigkeit einstellen"
Hier kannst du die Häufigkeit angeben, in der MySpeed deine Tests durchführt. Diese Einstellung kann gerade bei
langsameren Verbindungen relevant sein.
@@ -46,17 +60,14 @@ Hierbei handelt es sich um Einstellungen, die sich auf dein optimales Internet b
Musst du gerade ein wichtiges Dokument hochladen und MySpeed beeinträchtigt deine Internetgeschwindigkeit sehr? Dann
kannst du sie hier für eine bestimmte Zeit pausieren. Dies kann gerade bei langsamen Verbindungen relevant sein.
-=== ":material-webhook: Healthchecks"
- MySpeed verwendet [Healthchecks.io](https://healthchecks.io/), um dich zu benachrichtigen, wenn dein Internet ausfällt.
- Dabei kannst du entweder den offiziellen Healthchecks Server nutzen oder dir
- [selbst deinen eigenen hosten](https://healthchecks.io/docs/self_hosted/). Healthchecks erlaubt es dir, Benachrichtigungen über alle
- möglichen Dienste zu erhalten, sollte MySpeed ausfallen oder die Speedtests einen Fehler aufweisen.
+=== ":material-webhook: Integrationen"
+ ![Integrationen](/assets/images/de/integrations.png){align="right"}
-## Interface-Einstellungen
+ MySpeed verwendet Integrationen, um dich zu benachrichtigen, wenn dein Internet ausfällt.
+ Dabei hast du Dienste wie Discord, Telegram oder Gotify zur Auswahl. Möchtest du die Daten selbst verarbeiten, kannst du
+ auch einen Webhook angeben und dir alle Events zuschicken lassen.
-=== ":material-key: Passwort ändern"
- Ist deine MySpeed-Instanz öffentlich und du möchtest nicht, dass andere oder nur autorisierte Personen deine Internetgeschwindigkeit
- einsehen können? Dann kannst du hier MySpeed mit einem Passwort schützen, welches beim Besuch der Seite eingegeben werden muss.
+## Interface-Einstellungen
=== ":material-calendar-month: Zeitraum festlegen"
Hier kannst du festlegen, wie viele Tests dir im angegebenen Zeitraum angezeigt werden. Dabei kannst du auswählen zwischen den
@@ -66,5 +77,15 @@ Hierbei handelt es sich um Einstellungen, die sich auf dein optimales Internet b
=== ":material-file-export: Tests exportieren"
Möchtest du mal sicher gehen und deine Tests auf deinen Computer laden? Dann kannst du hier deine Tests exportieren.
-=== ":material-information: Info"
- Dieser Bereich zeigt dir Informationen über deine MySpeed-Instanz. Nichts wichtiges, einfach nur eine kleine Info. :)
\ No newline at end of file
+=== ":material-globe-model: Sprache ändern"
+ MySpeed ist derzeit in Deutsch und Englisch Sprachen verfügbar. Mit dieser Option kannst du die Sprache ändern.
+ Möchtest du mitwirken und MySpeed in eine weitere Sprache übersetzen? Dann schau doch mal [hier](https://crowdin.com/project/myspeed).
+
+=== ":material-equalizer: Ansicht wechseln"
+ ![Ansicht wechseln](/assets/images/de/view.png){align="right"}
+
+ MySpeed bietet dir zwei Ansichten an. Die erste ist die Standardansicht, die du bereits kennst. Die zweite ist die
+ **Test-Statistik**. Hier werden dir alle Tests mithilfe von Widgets und Diagrammen angezeigt.
+
+=== ":material-information: Information"
+ Dieser Bereich zeigt dir Informationen über deine MySpeed-Instanz. Nichts Wichtiges, einfach nur eine kleine Info. :)
\ No newline at end of file
diff --git a/docs/instructions/settings.en.md b/docs/instructions/settings.en.md
new file mode 100644
index 00000000..d554e5d4
--- /dev/null
+++ b/docs/instructions/settings.en.md
@@ -0,0 +1,89 @@
+# settings
+
+![Last test](/assets/images/en/settings.png){align="right"}
+
+Clicking on the **settings-icon :material-cog:** opens the settings page. You can find an example
+on the right.
+
+In this menu you can find settings as well as functions like exporting tests.
+
+To make the design clearer, the settings related to the internet can be found in the first 4
+lines.
+
+All options related to speed tests can be found in the 2nd box. Here you can e.g. set the frequency of the
+tests or select a server.
+
+In the 3rd box you can find settings related to the interface. Here you can change the language or the view.
+change the view.
+
+
+
+## Internet related settings
+
+Here are settings that relate to your optimal Internet.
+
+!!! tip "What's the point?"
+ MySpeed uses colored icons to symbolize the quality of your internet connection.
+ If you enter these values here, MySpeed will show you by icons if your internet is good, medium or bad.
+
+=== ":material-tennis: Ping"
+ The ping is a value that shows the duration of the connection between your computer and the internet in **ms**.
+ The faster (i.e. lower), the better.
+
+=== ":material-arrow-up: Up-Speed"
+ The up-speed is the speed at which your computer sends data. The higher the value, the better.
+
+=== ":material-arrow-down: Down-Speed"
+ The down-speed is the speed at which your computer receives data. The higher the value, the better.
+
+=== ":material-auto-fix: Optimal values"
+ If you don't know what values you should enter here, you can use this button. MySpeed will then try to determine the optimal values for you.
+
+## Speedtest settings
+
+=== ":material-server: Change server"
+ MySpeed chooses the next server automatically at startup. But if you find a closer server,
+ you can select it here. You can choose one from the list or enter an ID.
+ You can read more about this [here](https://www.ookla.com/network)
+
+=== ":material-key: Change password"
+ Is your MySpeed instance public and you don't want others or only authorized people to see your internet speed?
+ Then you can protect MySpeed with a password here, which has to be entered when visiting the site.
+
+=== ":material-clock: Set frequency"
+ Here you can set the frequency in which MySpeed performs your tests. This setting can be relevant for
+ slower connections.
+
+=== ":material-pause: Pause speed tests"
+ Do you have to upload an important document right now and MySpeed is affecting your internet speed a lot? Then
+ you can pause it here for a certain time. This can be relevant especially for slow connections.
+
+=== ":material-webhook: Integrations"
+ ![integrations](/assets/images/en/integrations.png){align="right"}
+
+ MySpeed uses integrations to notify you when your internet is down.
+ You have services like Discord, Telegram or Gotify to choose from. If you want to process the data yourself, you can also specify a
+ webhook and have all events sent to you.
+
+## Interface settings
+
+=== ":material-calendar-month: Set period"
+ Here you can define how many tests will be displayed in the specified period. You can choose between
+ the last 24 and 48 hours as well as the last 7 or 30 days. If you select one of the last two, you will be shown averages to make the
+ to make the interface clearer.
+
+=== ":material-file-export: Export tests"
+ Do you want to be sure and download your tests to your computer? Then you can export your tests here.
+
+=== ":material-globe-model: Change language"
+ MySpeed is currently available in English and German languages. With this option you can change the language.
+ Do you want to participate and translate MySpeed into another language? Then have a look [here](https://crowdin.com/project/myspeed).
+
+=== ":material-equalizer: Change view"
+ ![Change view](/assets/images/en/view.png){align="right"}
+
+ MySpeed offers you two views. The first one is the default view you already know. The second one is the
+ **Test Statistics**. Here you can see all tests with the help of widgets and diagrams.
+
+=== ":material-information: Information"
+ This section shows you information about your MySpeed instance. Nothing important, just a little info. :)
\ No newline at end of file
diff --git a/docs/setup/linux.md b/docs/setup/linux.de.md
similarity index 98%
rename from docs/setup/linux.md
rename to docs/setup/linux.de.md
index c60f8489..3bc0fb6e 100644
--- a/docs/setup/linux.md
+++ b/docs/setup/linux.de.md
@@ -50,7 +50,7 @@ Keine Lust mehr? Du kannst MySpeed ganz einfach wieder entfernen. Entscheide hie
sudo apt-get install wget curl unzip -y #(1)
# Dies brauchst du nur ausführen, wenn du NodeJS noch nicht installiert hast
-curl -sSL https://deb.nodesource.com/setup_16.x | bash
+curl -sSL https://deb.nodesource.com/setup_18.x | bash
sudo apt-get install nodejs -y #(2)
mkdir /opt/myspeed && cd /opt/myspeed #(3)
@@ -81,7 +81,7 @@ NODE_ENV=production node server #(7)
sudo apt-get install git curl -y #(1)
# Dies brauchst du nur ausführen, wenn du NodeJS noch nicht installiert hast
-curl -sSL https://deb.nodesource.com/setup_16.x | bash
+curl -sSL https://deb.nodesource.com/setup_18.x | bash
sudo apt-get install nodejs -y #(2)
mkdir /opt/myspeed && cd /opt/myspeed #(3)
diff --git a/docs/setup/linux.en.md b/docs/setup/linux.en.md
new file mode 100644
index 00000000..43fe2a65
--- /dev/null
+++ b/docs/setup/linux.en.md
@@ -0,0 +1,164 @@
+# Setup Linux
+Here the setup for Linux is described. MySpeed can be installed in several ways.
+
+## Installation with Docker
+!!! help "Help"
+ You don't know how to install Docker? Then check out [this guide](https://docs.docker.com/engine/install/#server)
+
+=== "Stable Version"
+ ```sh
+ docker run -d -p 5216:5216 -v myspeed:/myspeed/data --restart=unless-stopped --name MySpeed germannewsmaker/myspeed
+ ```
+
+=== "Development Version"
+ ```sh
+ docker run -d -p 5216:5216 -v myspeed:/myspeed/data --restart=unless-stopped --name MySpeed germannewsmaker/myspeed:development
+ ```
+
+## Automatic installation
+!!! tip "Hint"
+ You want to install MySpeed under a specific path? Then just put the parameter `-d /your/installation/path` behind the command
+
+=== "Stable Version"
+ ```sh
+ curl -sSL https://raw.githubusercontent.com/gnmyt/myspeed/development/install.sh | bash -s --
+ ```
+
+=== "Development Version"
+ ```sh
+ curl -sSL https://raw.githubusercontent.com/gnmyt/myspeed/development/install.sh | bash -s -- --beta
+ ```
+
+## Automatic uninstall process
+Don't want to use MySpeed anymore? You can easily remove MySpeed. Decide here if you want to keep or delete your data.
+
+!!! warning "Execute these commands carefully"
+ Executing the commands will result in deletion / uninstallation of MySpeed. Please be aware of this.
+
+=== "Keep data"
+ ```sh
+ curl -sSL https://raw.githubusercontent.com/gnmyt/myspeed/development/uninstall.sh | bash -s -- --keep-data
+ ```
+
+=== "Delete data"
+ ```sh
+ curl -sSL https://raw.githubusercontent.com/gnmyt/myspeed/development/uninstall.sh | bash
+ ```
+
+## Manual installation
+```sh
+sudo apt-get install wget curl unzip -y #(1)
+
+# You only need to do this if you don't have NodeJS installed yet
+curl -sSL https://deb.nodesource.com/setup_18.x | bash
+sudo apt-get install nodejs -y #(2)
+
+mkdir /opt/myspeed && cd /opt/myspeed #(3)
+
+wget $(curl -s https://api.github.com/repos/gnmyt/myspeed/releases/latest | grep browser_download_url | cut -d '"' -f 4) #(4)
+
+unzip MySpeed-*.zip && rm MySpeed-*.zip #(5)
+
+npm install #(6)
+
+NODE_ENV=production node server #(7)
+```
+
+1. Here you install all necessary packages to install the project.
+2. This step installs the latest version of NodeJS.
+3. Now create the folder where you want to install MySpeed. In this case it is the folder `/opt/myspeed`.
+4. Now install the newest version of MySpeed.
+5. Now unzip the file you just downloaded (then you can delete it)
+6. Now install all dependencies.
+7. Now MySpeed is started. MySpeed is now available on port 5216.
+ If you plan to run MySpeed in the background, see the guide below.
+
+## Install MySpeed from the source code
+!!! warning "Attention"
+ This process installs the latest development version of MySpeed. Errors may occur.
+
+```sh
+sudo apt-get install git curl -y #(1)
+
+# You only need to run this if you don't have NodeJS installed yet
+curl -sSL https://deb.nodesource.com/setup_18.x | bash
+sudo apt-get install nodejs -y #(2)
+
+mkdir /opt/myspeed && cd /opt/myspeed #(3)
+
+git clone https://github.com/gnmyt/myspeed.git . #(4)
+
+npm install #(5)
+
+cd client && npm install && npm run build && cd .. && mv client/build . #(6)
+
+NODE_ENV=production node server #(7)
+```
+
+1. here you install all necessary packages to install the project.
+2. this step installs the latest version of NodeJS.
+3. now create the folder where you want to install MySpeed. In this case this is the folder `/opt/myspeed`.
+4. clone the MySpeed repository to get access to the code.
+5. now install all dependencies of the server.
+6. now compile the interface of MySpeed and move it to the folder where MySpeed can read it.
+7. now start MySpeed. MySpeed is now accessible on port 5216.
+ If you plan to run MySpeed in the background, see the guide below.
+
+
+## Install MySpeed 24/7
+!!! warning "Important"
+ You have used the installation script? Then you don't need to do this step at all.
+
+Installing as a system service is not even that hard. In this case we use `systemd`, because it is directly integrated in most Linux distributions.
+
+1. Create a file named `myspeed.service` under `/etc/systemd/system`. Here we use `nano`
+ ```sh
+ nano /etc/systemd/system/myspeed.service
+ ```
+
+2. Now paste the content of the file.
+ ```ini linenums="1"
+ [Unit]
+ Description=MySpeed
+ After=network.target
+
+ [Service]
+ Type=simple
+ ExecStart=/usr/bin/node server
+ Restart=always
+ # \/ It is strongly recommended to create your own user here
+ User=root
+ Environment=NODE_ENV=production
+ # \/ Specify your installation location here
+ WorkingDirectory=/opt/myspeed
+
+ [Install]
+ WantedBy=multi-user.target
+ ```
+
+3. Save the file. This varies a bit depending on the editor
+
+ === "Nano"
+ `CTRL` + `X`, then `Y` and then `Enter`
+ === "Vim"
+ Press `ESC`, then type `:wq` and press `Enter`
+
+4. Now reload systemd
+ ```sh
+ systemctl daemon-reload
+ ```
+
+5. If you want MySpeed to boot at systemd startup, type this command:
+ ```sh
+ systemctl enable myspeed
+ ```
+
+6. Done! Now you can finally start MySpeed.
+ ```sh
+ systemctl start myspeed
+ ```
+
+7. Now check the status of MySpeed
+ ```sh
+ systemctl status myspeed
+ ```
\ No newline at end of file
diff --git a/docs/setup/windows.md b/docs/setup/windows.de.md
similarity index 60%
rename from docs/setup/windows.md
rename to docs/setup/windows.de.md
index b7ce3d6c..70fb3ed5 100644
--- a/docs/setup/windows.md
+++ b/docs/setup/windows.de.md
@@ -2,39 +2,43 @@
Hier wird die Einrichtung für Windows beschrieben.
1. Lade NodeJS herunter
- Um MySpeed nutzen zu können, benötigst du zuerst **NodeJS**. Du kannst dir den Installer ganz einfach [hier](https://nodejs.org/de/download/) herunterladen. Empfohlen wird die LTS-Version 16 von NodeJS
+ Um MySpeed nutzen zu können, benötigst du zuerst **NodeJS**. Du kannst dir den Installer ganz einfach [hier](https://nodejs.org/de/download/) herunterladen. Empfohlen wird die LTS-Version 18 von NodeJS
-2. Lade Python herunter
- Um das Projekt "bauen" zu können, musst du dir ebenfalls noch Python herunterladen. Dies kannst du [hier](https://www.python.org/downloads/).
-
-3. Lade die Visual Studio BuildTools herunter
- Das Tool "node-gyp" benötigt ebenfalls die BuildTools von Visual Studio, um das Projekt erfolgreich "bauen" zu können. So funktioniert das:
- 1. Klicke [auf diesen Link](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools) und warte kurz, bis der Download startet
- 2. Öffne die Datei und klicke "Fortfahren"
- 3. Wähle nun noch den optionalen Workload "Desktopentwicklung mit C++" aus und bestätige deine Auswahl mit einem Klick auf "Install"
-
-4. Lade MySpeed herunter
+2. Lade MySpeed herunter
Lade nun die neuste Version von MySpeed herunter. Du findest [hier](https://github.com/gnmyt/myspeed/releases/latest) den neusten Release. Lade dir hiervon die Datei "MySpeed-x.x.x-zip" herunter
-5. Entpacke die Datei
+3. Entpacke die Datei
Entpacke nun die gerade heruntergeladene Datei an einen Ort deiner Wahl. Am besten an einen Ort, den du nachher noch kennst 🌚
-6. Teste deine Installation
- Navigiere zuerst in den Ordner, in welchen du die Datei entpackt hast. Klicke mit `Shift` + `Linksklick` in einen leeren Bereich in diesem Ordner und wähle "In Powershell öffnen".
+4. Teste deine Installation
+ Navigiere zuerst in den Ordner, in welchen du die Datei entpackt hast. Klicke mit `Shift` + `Rechtsklick` in einen leeren Bereich in diesem Ordner und wähle "In Powershell öffnen".
Nun fügst du diesen Befehl in das Konsolenfenster ein und drückst `Enter`:
```sh
npm install
```
+
+ ??? warning "Schlägt die NPM-Installation fehl?"
+ Es besteht die Möglichkeit, dass es für dein System keine vorkompilierten Module gibt. In diesem Fall musst du die Module selbst kompilieren.
+ Folge dazu diesen Schritten:
+
+ 1. Lade Python herunter
+ Um das Projekt "bauen" zu können, musst du dir ebenfalls noch Python herunterladen. Dies kannst du [hier](https://www.python.org/downloads/).
+
+ 2. Lade die Visual Studio BuildTools herunter
+ Das Tool "node-gyp" benötigt ebenfalls die BuildTools von Visual Studio, um das Projekt erfolgreich "bauen" zu können. So funktioniert das:
+ 1. Klicke [auf diesen Link](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools) und warte kurz, bis der Download startet
+ 2. Öffne die Datei und klicke "Fortfahren"
+ 3. Wähle nun noch den optionalen Workload "Desktopentwicklung mit C++" aus und bestätige deine Auswahl mit einem Klick auf "Install"
+ 3. Führe `npm install` erneut aus
Wird alles erfolgreich ausgeführt, dann hast du alles richtig gemacht! Glückwunsch. :)
- Ist das allerdings nicht der Fall, sieh dir unseren Guide zur Fehlerbehebung an, um deine Probleme zu beheben.
Du kannst nun MySpeed mit diesem Befehl in deiner Powershell starten.
-7. MySpeed starten
+5. MySpeed starten
```powershell
$env:NODE_ENV="production"; node server
```
-## Automatisches hochfahren mithilfe von Autostart-Ordner in Windows
+## Automatisches hochfahren mithilfe des Autostartordners in Windows
1. Öffne den Autostart-Ordner in Windows
Drücke auf deiner Tastatur die beiden Tasten `Windows` + `R` gleichzeitig, bis ein Ausführen-Dialog erscheint. Gib dort dann `%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup` ein und drücke `Enter`.
diff --git a/docs/setup/windows.en.md b/docs/setup/windows.en.md
new file mode 100644
index 00000000..abc89d47
--- /dev/null
+++ b/docs/setup/windows.en.md
@@ -0,0 +1,59 @@
+# Setup Windows
+Here we describe the setup for Windows.
+
+1. Download NodeJS
+ To use MySpeed, you first need **NodeJS**. You can easily download the installer [here](https://nodejs.org/en/download/). Recommended is the LTS version 18 of NodeJS.
+
+2. Download MySpeed
+ Now download the latest version of MySpeed. You can find the latest release [here](https://github.com/gnmyt/myspeed/releases/latest). Download the file "MySpeed-x.x.x-zip" from here.
+
+3. Unpack the file
+ Now unzip the downloaded file to a place of your choice. Preferably to a place that you know afterwards 🌚.
+
+4. Test your installation
+ First navigate to the folder where you unzipped the file. Click with `Shift` + `Right click` into an empty area in this folder and select "Open in Powershell".
+ Now paste this command into the console window and press `Enter`:
+ ```sh
+ npm install
+ ```
+
+ ??? warning "Does the NPM installation fail?"
+ There is a possibility that there are no precompiled modules for your system. In this case you have to compile the modules yourself.
+ Follow these steps:
+
+ 1. Download Python
+ To "build" the project, you also need to download Python. You can do this [here](https://www.python.org/downloads/).
+
+ 2. Download the Visual Studio BuildTools
+ The "node-gyp" tool also requires Visual Studio's BuildTools to successfully "build" the project. Here's how it works:
+ 1. click [on this link](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools) and wait a short time until the download starts
+ 2. open the file and click "continue
+ 3. now select the optional workload "Desktop development with C++" and confirm your selection by clicking on "Install
+ 3. run `npm install` again
+ If everything runs successfully, you did everything right! Congratulations. :)
+ You can now start MySpeed with this command in your Powershell.
+
+5. Start MySpeed
+ ```powershell
+ $env:NODE_ENV="production"; node server
+ ```
+
+## Automatic startup using the autostart folder in Windows
+
+1. Open the autostart folder in windows
+ Press both keys (`Windows` + `R`) simultaneously on your keyboard until a Run dialog appears. Then type `%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup` and press `Enter`.
+
+2. Create the autostart file
+ First make sure you have [filename extensions active](https://support.microsoft.com/en-us/windows/common-file-name-extensions-in-windows-da4a4430-8e76-89c5-59f7-1cdbbc75cb01). Once this is done. Create a new document with `Right click` > `New` > `Text document`.
+ Then press `CTRL` + `A` and write as filename "MySpeed.bat". Then press `Enter` 2 times
+
+3. Create the content
+ Right click and select `Edit`. Then paste the code from below and adjust your installation location.
+ ```batch
+ @echo off
+ cd "C:\Users\Desktop\MySpeed"
+ set NODE_ENV=production
+ node server
+ ```
+
+4. If everything worked, MySpeed should now start automatically when the system is started.
\ No newline at end of file
diff --git a/docs/troubleshooting.md b/docs/troubleshooting.de.md
similarity index 81%
rename from docs/troubleshooting.md
rename to docs/troubleshooting.de.md
index c61661bd..8e5deec2 100644
--- a/docs/troubleshooting.md
+++ b/docs/troubleshooting.de.md
@@ -5,18 +5,18 @@ In diesem Guide erfährst du, wie du bekannte Fehler mit diesem Dienst behebst.
??? failure "Could not open the database file. Maybe it is damaged?"
Bei diesem Fehler kann es mehrere Lösungen geben. Arbeite einfach alle Möglichkeiten durch und dein Problem sollte gelöst sein. :)
- 1. Berechtigungen setzen
+ 1. Berechtigungen setzen
Um die Berechtigungen zu setzen, gib den Befehl `chmod 700 /opt/myspeed` ein. (Ersetze /opt/myspeed mit deinem Installationsort)
- 2. "Build Essentials Installieren"
+ 2. Build Essentials Installieren
Es ist aktuell möglich, dass der Fehler auftritt, weil das Paket `build-essential` nicht installiert ist. Installiere es ganz einfach mit dem Befehl `sudo apt-get install build-essential` nach.
- 3. Führe eine Neuinstallation der Module aus
+ 3. Führe eine Neuinstallation der Module aus
Gib zuerst den Befehl `rm -R node_modules` im Installationsordner ein, um die Module zu löschen und installiere sie dann mit `npm install` nach.
-??? failure "Cannot get /"
+??? failure "Diese MySpeed-Instanz befindet sich aktuell im Entwicklungsmodus"
Das ist nicht wirklich ein Fehler, lediglich eine Sicherung um das Tool nur in Produktionsumgebungen verwenden zu können.
Setze dazu die Umgebungsvariable `NODE_ENV` auf den Wert `production`.
Unter Linux erreichst du das mit `export NODE_ENV=production` und unter Windows in der Powershell mit `$env:NODE_ENV="production"`
- Lies dir auch mal den Guide zur 24/7 Installation durch,
+ Lies dir auch mal den [Guide zur 24/7 Installation](../setup/linux) durch,
wenn du planst, MySpeed im Hintergrund laufen zu lassen und beim Systemstart automatisch hochzufahren.
\ No newline at end of file
diff --git a/docs/troubleshooting.en.md b/docs/troubleshooting.en.md
new file mode 100644
index 00000000..bea35eba
--- /dev/null
+++ b/docs/troubleshooting.en.md
@@ -0,0 +1,22 @@
+# Troubleshooting
+
+In this guide you will learn how to fix known errors with this service.
+
+??? failure "Could not open the database file. Maybe it is damaged?"
+ There can be several solutions to this error. Just work through all possibilities and your problem should be solved. :)
+
+ 1. Set the required permissions
+ To set the permissions, enter the command `chmod 700 /opt/myspeed`. (Replace /opt/myspeed with your installation location).
+
+ 2. Install the build essentials
+ It is currently possible that the error occurs because the `build-essential` package is not installed. Simply reinstall it with the command `sudo apt-get install build-essential`.
+
+ 3. Perform a new installation of the modules
+ First enter the command `rm -R node_modules` in the installation folder to delete the modules and then reinstall them with `npm install`.
+
+??? failure "This MySpeed instance is currently in development mode"
+ This is not really an error, just a backup to use the tool only in production environments.
+ Set the environment variable `NODE_ENV` to the value `production`.
+ On Linux you can do this with `export NODE_ENV=production` and on Windows in the Powershell with `$env:NODE_ENV="production"`.
+ Also read the [guide for 24/7 installation](../setup/linux), if you plan to run MySpeed in the background and start it automatically
+ at system startup.
\ No newline at end of file
diff --git a/mkdocs.yml b/mkdocs.yml
index e7073b1f..1fc3c5da 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -1,13 +1,19 @@
-site_name: MySpeed Dokumentation
+site_name: MySpeed Documentation
copyright: Copyright © 2021 - 2023 Mathias Wagner
repo_name: MySpeed
repo_url: https://github.com/gnmyt/myspeed
edit_uri: https://github.com/gnmyt/myspeed/edit/development/docs
+plugins:
+ - i18n:
+ default_language: en
+ languages:
+ en: English
+ de: Deutsch
+
theme:
name: material
- language: de
logo: assets/images/logo.png
features:
- toc.integrate
@@ -20,19 +26,21 @@ theme:
primary: teal
toggle:
icon: material/brightness-7
- name: Zum dunklen Modus wechseln
+ name: Switch to dark mode
- media: "(prefers-color-scheme: dark)"
scheme: slate
primary: teal
toggle:
icon: material/brightness-4
- name: Zum hellen Modus wechseln
+ name: Switch to light mode
extra:
generator: false
social:
- icon: fontawesome/brands/github
link: https://github.com/gnmyt/myspeed
+ - icon: fontawesome/solid/heart
+ link: https://ko-fi.com/gnmyt
- icon: fontawesome/brands/twitter
link: https://twitter.com/germannewsmaker
- icon: fontawesome/brands/discord
@@ -51,14 +59,14 @@ markdown_extensions:
emoji_generator: !!python/name:materialx.emoji.to_svg
nav:
- - Start: index.md
- - Häufig gestellte Fragen: faq.md
- - Einrichtung:
- - Linux: setup/linux.md
- - Windows: setup/windows.md
+ - Start: index.en.md
+ - Frequently Asked Questions: faq.en.md
+ - Setup:
+ - Linux: setup/linux.en.md
+ - Windows: setup/windows.en.md
- Guides:
- - Konfiguration eines Reverse-Proxies: guides/reverse-proxy.md
- - Fehlerbehebung: troubleshooting.md
- - Handhabung:
- - Die Oberfläche: instructions/main.md
- - Einstellungen: instructions/settings.md
+ - Configuring a Reverse Proxy: guides/reverse-proxy.en.md
+ - Troubleshooting: troubleshooting.en.md
+ - Instructions:
+ - The Interface: instructions/main.en.md
+ - Settings: instructions/settings.en.md