Merge pull request #745 from gnmyt/updates/new-documentation

📚 New Documentation
This commit is contained in:
Mathias Wagner
2026-01-20 00:28:00 +01:00
committed by GitHub
40 changed files with 5207 additions and 1053 deletions

View File

@@ -2,20 +2,29 @@ name: Deploy documentation to GitHub
on:
push:
branches: [ "development" ]
paths: [ "docs/**", "mkdocs.yml" ]
paths: [ "docs/**" ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- uses: actions/checkout@v4
with:
python-version: 3.9
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Install dependencies
run: pip install mkdocs-material mkdocs-static-i18n
run: npm ci
- name: Deploy documentation
run: mkdocs gh-deploy --force
- name: Build documentation
run: npx vitepress build docs
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: docs/.vitepress/dist

6
.gitignore vendored
View File

@@ -11,4 +11,8 @@
# production
/build
/data
/bin
/bin
# docs
/docs/.vitepress/dist
/docs/.vitepress/cache

View File

@@ -0,0 +1,32 @@
import { defineConfig } from 'vitepress'
export const de = defineConfig({
lang: "de",
description: "MySpeed ist eine selbstgehostete Speedtest-Analyse-Software, die die Geschwindigkeit Ihres Internets bis zu 30 Tage lang speichert.",
themeConfig: {
nav: [
{ text: 'Häufig gestellte Fragen', link: 'de/faq' },
{
text: 'Einrichtung',
items: [
{ text: 'Linux', link: 'de/setup/linux' },
{ text: 'Windows', link: 'de/setup/windows' }
]
},
{
text: 'Anleitungen',
items: [
{ text: 'Einrichten eines Reverse Proxys', link: 'de/guides/reverse-proxy' }
]
},
{ text: 'Fehlerbehebung', link: 'de/troubleshooting' },
{
text: 'Anweisungen',
items: [
{ text: 'Die Benutzeroberfläche', link: 'de/instructions/main' },
{ text: 'Einstellungen', link: 'de/instructions/settings' }
]
}
]
},
})

View File

@@ -0,0 +1,32 @@
import { defineConfig } from 'vitepress'
export const en = defineConfig({
lang: "en-US",
description: "MySpeed is a self-hosted speedtest analysis software that stores the speed of your internet for up to 30 days.",
themeConfig: {
nav: [
{ text: 'Frequently Asked Questions', link: 'faq' },
{
text: 'Setup',
items: [
{ text: 'Linux', link: 'setup/linux' },
{ text: 'Windows', link: 'setup/windows' }
]
},
{
text: 'Guides',
items: [
{ text: 'Configuring a Reverse Proxy', link: 'guides/reverse-proxy' }
]
},
{ text: 'Troubleshooting', link: 'troubleshooting' },
{
text: 'Instructions',
items: [
{ text: 'The Interface', link: 'instructions/main' },
{ text: 'Settings', link: 'instructions/settings' }
]
}
]
},
})

View File

@@ -0,0 +1,12 @@
import { defineConfig } from 'vitepress'
import { shared } from './shared.mjs';
import { en } from './en.mjs'
import { de } from './de.mjs'
export default defineConfig({
...shared,
locales: {
root: { label: 'English', ...en },
de: { label: 'Deutsch', ...de }
}
})

View File

@@ -0,0 +1,45 @@
import { defineConfig } from 'vitepress'
export const shared = defineConfig({
rewrites: {
'en/:rest*': ':rest*'
},
title: 'MySpeed',
lastUpdated: true,
cleanUrls: true,
metaChunk: true,
sitemap: {
hostname: 'https://myspeed.gnmyt.dev',
transformItems(items) {
return items.filter((item) => !item.url.includes('migration'))
}
},
/* prettier-ignore */
head: [
['link', { rel: 'icon', type: 'image/png', href: '/logo.png' }],
['meta', { name: 'theme-color', content: '#1C2232' }],
['meta', { property: 'og:type', content: 'website' }],
['meta', { property: 'og:locale', content: 'en' }],
['meta', { property: 'og:title', content: 'MySpeed | Self-hosted speedtest analysis software' }],
['meta', { property: 'og:site_name', content: 'MySpeed' }],
['meta', { property: 'og:image', content: 'https://myspeed.gnmyt.dev/assets/images/thumbnail.png' }],
['meta', { property: 'og:url', content: 'https://myspeed.gnmyt.dev/' }]
],
themeConfig: {
logo: '/logo.png',
footer: {
copyright: '© 2024 Mathias Wagner',
},
search: {
provider: 'local'
},
socialLinks: [
{icon: 'github', link: 'https://github.com/gnmyt/myspeed'},
{icon: 'discord', link: 'https://discord.com/users/386242172632170496'}
],
}
})

71
docs/de/faq.md Normal file
View File

@@ -0,0 +1,71 @@
# Fragen & Antworten
Hier beantworten wir die Fragen, die Sie haben könnten.
::: details Wie installiere ich MySpeed?
Je nach Betriebssystem sind diese Anweisungen unterschiedlich. Hier finden Sie die Anweisungen für [Windows](setup/windows) und [Linux](setup/linux).
Es wird jedoch dringend empfohlen, MySpeed unter Linux zu installieren.
:::
::: details Was sind die Anforderungen?
Es hängt davon ab, welche Art von Bandbreite Sie haben. Für Linux könnte es so aussehen:
Wenn Sie maximal 100 Mbps haben, reicht ein Raspberry Pi 1 oder ein anderer alter Computer aus.
Bei einer Gbit-Leitung sind ein Raspberry Pi 4 oder ein PC mit 1Gbit LAN-Unterstützung wichtig.
:::
::: details Kann ich MySpeed trotz VPN verwenden?
Solange Sie Ihren VPN-Dienst nicht auf dem gleichen System verwenden, auf dem MySpeed läuft, gibt es kein Problem.
Andernfalls könnten Ihre VPN-Einstellungen die Ergebnisse verzerren oder diese nicht realistisch widerspiegeln.
:::
::: details Dient diese Information als offizieller Nachweis für meinen ISP?
Nein. Die Geschwindigkeitstests müssen vom Geschwindigkeitstestdienst Ihres Anbieters durchgeführt werden.
In diesem Fall dient MySpeed nur zu Informationszwecken und bietet keine rechtliche Garantie.
:::
::: details Was kann die Geschwindigkeitstests beeinflussen?
Es gibt viele Faktoren, die die Geschwindigkeitstests beeinflussen können. Zum Beispiel können Hintergrunddienste
die Ergebnisse beeinflussen. Es ist am besten, sie während der jeweiligen Testzeiten auszuschalten, da sonst Ihre
Ergebnisse manipuliert werden könnten.
:::
::: details Was passiert mit den alten Testergebnissen?
Die alten Testergebnisse werden automatisch gelöscht, sobald sie älter als 30 Tage sind.
:::
::: details Muss MySpeed dauerhaft laufen?
Wir empfehlen es, um bessere Ergebnisse zu erzielen. Wenn es Sie beim Streamen von Filmen usw. stört,
können Sie es über die Web-Schnittstelle für eine bestimmte Zeit pausieren oder manuell anhalten.
Für den 24/7-Betrieb empfehlen wir ein System, das nicht viel Strom verbraucht. In diesem Fall empfehlen wir einen Raspberry Pi.
Wenn Sie bereits einen Server haben, der ständig läuft, können Sie es auch dort parallel laufen lassen.
:::
::: details Wie kann ich zwischen manuellen und automatischen Geschwindigkeitstests unterscheiden?
Klicken Sie auf das Uhrsymbol des jeweiligen Tests. Dort finden Sie alle Informationen zum Geschwindigkeitstest.
:::
::: details Zeigt die "Empfehlungen"-Funktion meine tatsächliche Bandbreite an?
Nein, dies ist ein berechneter Wert aus Ihren letzten 10 Geschwindigkeitstests. Die verfügbare Bandbreite finden Sie in Ihrem Vertragsangebot.
:::
::: details Kann der Entwickler meine Testergebnisse sehen?
Nein, die Testergebnisse sind nur lokal auf dem Server sichtbar.
:::
::: details Warum sollte ich Frequenzen konfigurieren?
Es hängt stark von Ihrem Internet ab. Wenn Sie z.B. eine sehr schlechte Internetverbindung haben, sollten Sie die Frequenz eher verringern.
Wenn Ihr Internet jedoch recht schnell ist, können Sie sie erhöhen. Auf dieser Grundlage werden mehr oder weniger Tests je nach Situation durchgeführt.
::: warning Achtung
Es ist sehr wahrscheinlich, dass Hintergrunddienste Ihre Geschwindigkeiten beeinflussen. Es ist am besten, sie während der jeweiligen Testzeiten auszuschalten, da sonst Ihre Ergebnisse manipuliert werden könnten.
:::
::: details Wie setze ich mein Passwort zurück?
Sie haben Ihr MySpeed-Passwort vergessen? Kein Problem. Um es zurückzusetzen, navigieren Sie zum Installationsort (`cd /opt/myspeed`) und führen Sie 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']})"
```
Dann können Sie die Seite erneut aufrufen und Ihr Passwort manuell setzen :)
:::

View File

@@ -0,0 +1,106 @@
# Konfiguration eines Reverse Proxies
::: Tipp Warum einen Reverse Proxy verwenden?
In diesem Fall verwenden wir einen Reverse Proxy als Zwischenschicht zwischen dir und MySpeed.
Der Vorteil dabei ist, dass du MySpeed nicht über einen Port aufrufen musst, sondern über eine normale Domain.
:::
## Installation
Falls du bereits einen Reverse Proxy installiert hast, kannst du diesen Schritt überspringen. Welchen der beiden Reverse Proxies du verwenden möchtest,
liegt bei dir. Wir empfehlen jedoch `nginx` für diese Anleitung.
::: code-group
```sh [nginx]
sudo apt-get install nginx -y
```
```sh [apache]
sudo apt-get install apache2 -y
```
:::
## Konfiguration von MySpeed
In diesem Abschnitt wird erklärt, wie du MySpeed mit deinem Reverse Proxy verbinden kannst. Wähle hier erneut aus, welchen Reverse Proxy du verwendet hast.
::: code-group
```sh [nginx]
# Erstelle eine Datei namens myspeed.conf unter /etc/nginx/sites-available. Hier verwenden wir nano
sudo nano /etc/nginx/sites-available/myspeed.conf
```
```nginx [myspeed.conf]
server {
listen 80;
listen [::]:80;
server_name deine-domain.de;
location / {
proxy_pass http://localhost:5216;
}
}
```
```sh [nginx]
# Aktiviere die Datei und starte den Reverse Proxy neu
sudo ln -s /etc/nginx/sites-available/myspeed.conf /etc/nginx/sites-enabled/myspeed.conf
sudo systemctl restart nginx
```
```sh [apache]
# Erstelle eine Datei namens myspeed.conf unter /etc/apache2/sites-available. Hier verwenden wir nano
sudo nano /etc/apache2/sites-available/myspeed.conf
```
```apache [myspeed.conf]
<VirtualHost *:80>
ServerName deine-domain.de
ProxyPreserveHost On
ProxyPass / http://localhost:5216/
ProxyPassReverse / http://localhost:5216/
</VirtualHost>
```
```sh [apache]
# Aktiviere die Module mod_proxy und mod_proxy_http
sudo a2enmod proxy
sudo a2enmod proxy_http
# Aktiviere die Datei und starte den Reverse Proxy neu
sudo a2ensite myspeed.conf
sudo systemctl restart apache2
```
:::
## Konfiguration eines SSL-Zertifikats mit Let's Encrypt
In diesem Abschnitt wird erklärt, wie du ein SSL-Zertifikat von Let's Encrypt für MySpeed einrichtest.
::: Tipp Verwendest du Cloudflare?
Wenn du Cloudflare nutzt und kein SSL-Zertifikat von Let's Encrypt einrichten möchtest, kannst du einfach die Cloudflare Proxy-Funktion aktivieren. Das ist in den meisten Fällen ausreichend. Wenn du dich dafür entscheidest, die Cloudflare-Proxy zu verwenden, kannst du diesen Abschnitt überspringen.
:::
::: code-group
```sh [nginx]
# Installiere Certbot
sudo apt-get install certbot python3-certbot-nginx -y
# Führe Certbot aus und gib die Domain an
sudo certbot --nginx -d deine-domain.de
```
```sh [apache]
# Installiere Certbot
sudo apt-get install certbot python3-certbot-apache -y
# Führe Certbot aus und gib die Domain an
sudo certbot --apache -d deine-domain.de
```

62
docs/de/index.md Normal file
View File

@@ -0,0 +1,62 @@
---
layout: home
hero:
name: MySpeed
text: Automatisiere Speedtests
tagline: Ein selbstgehostetes Speedtest-Tracking-Tool, das es dir ermöglicht, deine Internetverbindung zu überwachen.
actions:
- theme: brand
text: Loslegen
link: /de/setup/linux
- theme: alt
text: GitHub
link: https://github.com/gnmyt/myspeed
image:
src: /logo.png
alt: MySpeed
features:
- icon: 📊
title: Detaillierte Statistiken
details: MySpeed generiert klare Statistiken zu Geschwindigkeit, Ping und mehr.
- icon: ⏰
title: Testautomatisierung
details: MySpeed automatisiert Speedtests und ermöglicht es dir, die Zeit zwischen den Tests mit Cron-Ausdrücken festzulegen.
- icon: 🗄️
title: Mehrere Server hinzufügen
details: Füge deiner MySpeed-Instanz mehrere Server hinzu und wechsle zwischen ihnen.
- icon: 🩺
title: Verwende Gesundheitsprüfungen
details: Konfiguriere Gesundheitsprüfungen, um dich bei Fehlern oder Ausfällen per E-Mail, Signal, WhatsApp oder Telegram zu benachrichtigen.
- icon: 🔥
title: Unterstützung für Prometheus und Grafana
details: Integriere direkt mit Prometheus und Grafana, um deine MySpeed-Instanz zu überwachen.
- icon: 🗳️
title: Wähle deinen Anbieter
details: Wähle zwischen Ookla, LibreSpeed und Cloudflare Speedtest-Servern.
---
<style>
:root {
--vp-home-hero-name-color: transparent;
--vp-home-hero-name-background: -webkit-linear-gradient(120deg, #456ac6 30%, #46CA5A);
--vp-home-hero-image-background-image: linear-gradient(#1C2232 50%, #1C2232);
--vp-home-hero-image-filter: blur(44px);
}
@media (min-width: 640px) {
:root {
--vp-home-hero-image-filter: blur(56px);
}
}
@media (min-width: 960px) {
:root {
--vp-home-hero-image-filter: blur(68px);
}
}
</style>

View File

@@ -0,0 +1,32 @@
# Die Benutzeroberfläche
Die Benutzeroberfläche von MySpeed wurde von Grund auf benutzerfreundlich gestaltet. Um jedoch mögliche Verwirrung zu
vermeiden, ist hier alles erklärt.
## Die Benutzeroberfläche
![MySpeed Benutzeroberfläche](/assets/images/de/interface.png)
Die Benutzeroberfläche von MySpeed ist in **3** Teile unterteilt.
Der **erste** Teil ist der sogenannte Header und bietet direkten Zugriff auf die Einstellungen und den Start eines
Geschwindigkeitstests. Die Einstellungen werden ausführlicher [hier](settings) beschrieben.
Der **zweite** Teil zeigt immer den neuesten Geschwindigkeitstest an.
Der **dritte** Teil zeigt alle erstellten Geschwindigkeitstests an.
## Letzter Test
![Letzter Test](/assets/images/de/latest.png)
Dieser Teil zeigt immer den neuesten, also zuletzt erstellten Geschwindigkeitstest an. Wenn du auf ein Symbol klickst,
öffnet sich das entsprechende Hilfemenü mit weiteren Informationen.
## Übersicht aller Tests
![Übersicht aller Tests](/assets/images/de/tests.png)
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).

View File

@@ -0,0 +1,99 @@
# Settings
![Letzter Test](/assets/images/de/settings.png){align="right"}
Clicking on the **settings-icon** ⚙️ 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.
<br clear="both" />
## 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.
:::
### 🏓 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.
### ⬆️ Up-Speed
The up-speed is the speed at which your computer sends data. The higher the value, the better.
### ⬇️ Down-Speed
The down-speed is the speed at which your computer receives data. The higher the value, the better.
### 🛠️ 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
### 🖥️ 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).
### 🔑 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.
### 🕒 Set frequency
Here you can set the frequency in which MySpeed performs your tests. This setting can be relevant for slower
connections.
### ⏸️ 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.
### 🌐 Integrations
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
### 📅 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
interface clearer.
### 📤 Export tests
Do you want to be sure and download your tests to your computer? Then you can export your tests here.
### 🌍 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).
### 📊 Change view
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.
### Information
This section shows you information about your MySpeed instance. Nothing important, just a little info. :)

178
docs/de/setup/linux.md Normal file
View File

@@ -0,0 +1,178 @@
# Einrichtung unter Linux
Hier wird die Einrichtung von MySpeed unter Linux beschrieben. MySpeed kann auf verschiedene Arten installiert werden.
## Installation mit Docker
::: tip Hilfe
Du weißt nicht, wie man Docker installiert? Schau dir [diese Anleitung](https://docs.docker.com/engine/install/#server) an.
:::
::: code-group
```sh [Stabile Version]
docker run -d -p 5216:5216 -v myspeed:/myspeed/data --restart=unless-stopped --name MySpeed germannewsmaker/myspeed
```
```sh [Entwicklerversion]
docker run -d -p 5216:5216 -v myspeed:/myspeed/data --restart=unless-stopped --name MySpeed germannewsmaker/myspeed:development
```
:::
## Automatische Installation
::: code-group
```sh [Stabile Version]
bash <(curl -sSL https://install.myspeed.dev)
```
```sh [Entwicklerversion]
curl -sSL https://raw.githubusercontent.com/gnmyt/myspeed/development/scripts/install.sh | bash -s -- --beta
```
:::
## Automatischer Deinstallationsprozess
Möchtest du MySpeed nicht mehr verwenden? Du kannst es leicht entfernen. Entscheide hier, ob du deine Daten behalten oder löschen möchtest.
::: warning Führe diese Befehle vorsichtig aus
Das Ausführen der Befehle führt zur Löschung / Deinstallation von MySpeed. Bitte sei dir dessen bewusst.
:::
::: code-group
```sh [Daten behalten]
curl -sSL https://raw.githubusercontent.com/gnmyt/myspeed/development/scripts/uninstall.sh | bash -s -- --keep-data
```
```sh [Daten löschen]
curl -sSL https://raw.githubusercontent.com/gnmyt/myspeed/development/scripts/uninstall.sh | bash
```
:::
## Manuelle Installation
```sh
sudo apt-get install wget curl unzip -y #(1)
# Dies ist nur erforderlich, wenn NodeJS noch nicht installiert ist
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. Hier werden alle notwendigen Pakete für die Installation des Projekts installiert.
2. Dieser Schritt installiert die neueste Version von NodeJS.
3. Erstelle nun den Ordner, in dem du MySpeed installieren möchtest. In diesem Fall ist es der Ordner `/opt/myspeed`.
4. Installiere nun die neueste Version von MySpeed.
5. Entpacke die gerade heruntergeladene Datei (danach kannst du sie löschen).
6. Installiere nun alle Abhängigkeiten.
7. Starte nun MySpeed. MySpeed ist jetzt auf Port 5216 verfügbar.
Wenn du planst, MySpeed im Hintergrund laufen zu lassen, siehe die Anleitung unten.
## Installation von MySpeed aus dem Quellcode
::: warning Achtung
Dieser Prozess installiert die neuste Entwicklungsversion von MySpeed. Fehler können auftreten.
:::
```sh
sudo apt-get install git curl -y #(1)
# Dies ist nur erforderlich, wenn NodeJS noch nicht installiert ist
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. Hier installierst du alle notwendigen Pakete, um das Projekt zu installieren.
2. Dieser Schritt installiert die neuste Version von NodeJS.
3. Erstelle nun den Ordner, in welchen du MySpeed installieren möchtest. In diesem Fall ist das der Ordner `/opt/myspeed`.
4. Klone nun das MySpeed Repository, um Zugriff auf den Code zu erhalten.
5. Installiere nun alle Abhängigkeiten des Servers.
6. Jetzt kompilierst du die Oberfläche von MySpeed und verschiebst sie in den Ordner wo MySpeed sie lesen kann.
7. Jetzt wird MySpeed gestartet. MySpeed ist nun unter dem Port 5216 erreichbar.
Wenn du planst, MySpeed im Hintergrund laufen zu lassen, dann schau dir den Guide dafür unten an.
## MySpeed 24/7 installieren
::: warning Wichtig
Hast du das Installations-Script verwendet? Dann musst du diesen Schritt überhaupt nicht ausführen.
:::
Die Installation als Systemdienst ist nicht schwer. In diesem Fall verwenden wir `systemd`, da es in den meisten Linux-Distributionen direkt integriert ist.
1. Erstelle eine Datei namens `myspeed.service` unter `/etc/systemd/system`. Hier verwenden wir `nano`
```sh
nano /etc/systemd/system/myspeed.service
```
2. Füge nun den Inhalt der Datei ein.
```ini
[Unit]
Description=MySpeed
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/node server
Restart=always
# \/ Es wird dringend empfohlen, hier deinen eigenen Benutzer zu erstellen
User=root
Environment=NODE_ENV=production
# \/ Gib hier deinen Installationsort an
WorkingDirectory=/opt/myspeed
[Install]
WantedBy=multi-user.target
```
3. Speichere die Datei. Dies variiert je nach Editor.
::: code-group
```sh [nano]
Drücke `STRG` + `X`, dann drücke `Y` und drücke `Enter`, um die Datei zu speichern und den Editor zu verlassen.
```
```sh [vim]
Drücke `ESC`, tippe dann `:wq` und drücke `Enter`, um die Datei zu speichern und den Editor zu verlassen.
```
4. Lade nun systemd neu.
```sh
systemctl daemon-reload
```
5. Wenn du möchtest, dass MySpeed beim Start von systemd startet, gib diesen Befehl ein:
```sh
systemctl enable myspeed
```
6. Fertig! Jetzt kannst du MySpeed starten.
```sh
systemctl start myspeed
```
7. Überprüfe nun den Status von MySpeed.
```sh
systemctl status myspeed
```

62
docs/de/setup/windows.md Normal file
View File

@@ -0,0 +1,62 @@
# Windows Setup
Hier beschreiben wir die Einrichtung für Windows.
## Installation von MySpeed
1. NodeJS herunterladen
Um MySpeed zu verwenden, benötigst du zuerst **NodeJS**. Du kannst den Installer ganz einfach [hier](https://nodejs.org/en/download/) herunterladen. Empfohlen wird die LTS-Version 18 von NodeJS.
2. MySpeed herunterladen
Lade jetzt die neueste Version von MySpeed herunter. Die aktuellste Version findest du [hier](https://github.com/gnmyt/myspeed/releases/latest). Lade die Datei "MySpeed-x.x.x-zip" von hier herunter.
3. Datei entpacken
Entpacke nun die heruntergeladene Datei an einen Ort deiner Wahl. Am besten an einen Ort, den du später wiederfindest 🌚.
4. Installation testen
Navigiere zuerst in den Ordner, wo du die Datei entpackt hast. Klicke in einen leeren Bereich dieses Ordners mit `Shift` + `Rechtsklick` und wähle "Öffnen in Powershell".
Füge nun diesen Befehl in das Konsolenfenster ein und drücke `Enter`:
```sh
npm install
```
::: warning Schlägt die NPM-Installation fehl?
Möglicherweise gibt es keine vorkompilierten Module für dein System. In diesem Fall musst du die Module selbst kompilieren.
Folge diesen Schritten:
1. Python herunterladen
Um das Projekt zu "bauen", benötigst du auch Python. Du kannst es [hier](https://www.python.org/downloads/) herunterladen.
2. Visual Studio BuildTools herunterladen
Das Tool "node-gyp" erfordert auch Visual Studio BuildTools, um das Projekt erfolgreich zu "bauen". So funktioniert es:
1. Klicke [auf diesen Link](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools) und warte einen Moment, bis der Download startet.
2. Öffne die Datei und klicke auf "Weiter".
3. Wähle jetzt die optionale Workload "Desktopentwicklung mit C++" aus und bestätige deine Auswahl durch Klicken auf "Installieren".
3. Führe `npm install` erneut aus.
:::
Wenn alles erfolgreich durchläuft, hast du alles richtig gemacht! Herzlichen Glückwunsch. :)
Du kannst MySpeed jetzt mit diesem Befehl in Powershell starten.
5. MySpeed starten
```powershell
$env:NODE_ENV="production"; node server
```
## Automatischer Start mit dem Autostart-Ordner in Windows
1. Autostart-Ordner in Windows öffnen
Drücke gleichzeitig die Tasten (`Windows` + `R`) auf deiner Tastatur, bis ein Ausführen-Dialog erscheint. Gib dann `%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup` ein und drücke `Enter`.
2. Autostart-Datei erstellen
Stelle sicher, dass du [Dateinamenerweiterungen aktiviert](https://support.microsoft.com/en-us/windows/common-file-name-extensions-in-windows-da4a4430-8e76-89c5-59f7-1cdbbc75cb01) hast. Wenn das erledigt ist, erstelle ein neues Dokument mit `Rechtsklick` > `Neu` > `Textdokument`.
Drücke dann `Strg` + `A` und benenne es als "MySpeed.bat". Drücke dann zweimal `Enter`.
3. Inhalt erstellen
Klicke mit `Rechtsklick` und wähle `Bearbeiten`. Füge dann den folgenden Code ein und passe den Installationsort an:
```batch
@echo off
cd "C:\Users\Desktop\MySpeed"
set NODE_ENV=production
node server
```
4. Wenn alles funktioniert hat, sollte MySpeed jetzt automatisch starten, wenn das System hochfährt.

View File

@@ -0,0 +1,31 @@
# Fehlerbehebung
In diesem Guide erfährst du, wie du bekannte Fehler mit diesem Dienst behebst.
::: danger 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
Um die Berechtigungen zu setzen, gib den Befehl `chmod 700 /opt/myspeed` ein. (Ersetze /opt/myspeed mit deinem
Installationsort)
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
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.
:::
::: danger 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](setup/linux) durch, wenn du planst, MySpeed im Hintergrund laufen
zu lassen und beim Systemstart automatisch hochzufahren.
:::

76
docs/en/faq.md Normal file
View File

@@ -0,0 +1,76 @@
# Questions & Answers
Here we answer the questions you might have.
::: details 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.
:::
::: details 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.
:::
::: details 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.
:::
::: details 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.
:::
::: details 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.
:::
::: details What happens to the old test results?
The old test results are automatically deleted as soon as they are older than 30 days.
:::
::: details 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.
:::
::: details 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.
:::
::: details 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.
:::
::: details Can the developer see my test results?
No, the test results are only visible locally on the server.
:::
::: details 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.
:::
::: details 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 :)
:::

View File

@@ -0,0 +1,108 @@
# Setting up a Reverse Proxy with MySpeed
::: 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.
::: code-group
```sh [nginx]
sudo apt-get install nginx -y
```
```sh [apache]
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.
::: code-group
```sh [nginx]
# Create a file named myspeed.conf under /etc/nginx/sites-available. Here we use nano
sudo nano /etc/nginx/sites-available/myspeed.conf
```
```nginx [myspeed.conf]
server {
listen 80;
listen [::]:80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:5216;
}
}
```
```sh [nginx]
# Activate the file and restart the reverse proxy
sudo ln -s /etc/nginx/sites-available/myspeed.conf /etc/nginx/sites-enabled/myspeed.conf
sudo systemctl restart nginx
```
```sh [apache]
# Create a file named myspeed.conf under /etc/apache2/sites-available. Here we use nano
sudo nano /etc/apache2/sites-available/myspeed.conf
```
```apache [myspeed.conf]
<VirtualHost *:80>
ServerName your-domain.com
ProxyPreserveHost On
ProxyPass / http://localhost:5216/
ProxyPassReverse / http://localhost:5216/
</VirtualHost>
```
```sh [apache]
# Enable the mod_proxy and mod_proxy_http modules
sudo a2enmod proxy
sudo a2enmod proxy_http
# Activate the file and restart the reverse proxy
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.
:::
::: code-group
```sh [nginx]
# Install certbot
sudo apt-get install certbot python3-certbot-nginx -y
# Run Certbot and specify the domain
sudo certbot --nginx -d your-domain.com
```
```sh [apache]
# Install certbot
sudo apt-get install certbot python3-certbot-apache -y
# Run Certbot and specify the domain
sudo certbot --apache -d your-domain.com
```

60
docs/en/index.md Normal file
View File

@@ -0,0 +1,60 @@
---
layout: home
hero:
name: MySpeed
text: Automate Speedtests
tagline: A self-hosted speedtest tracking tool that allows you to monitor your internet connection.
actions:
- theme: brand
text: Get started
link: /setup/linux
- theme: alt
text: GitHub
link: https://github.com/gnmyt/myspeed
image:
src: /logo.png
alt: MySpeed
features:
- icon: 📊
title: Detailed statistics
details: MySpeed generates clear statistics on speed, ping, and more.
- icon: ⏰
title: Test automation
details: MySpeed automates speed tests and allows you to set the time between tests using Cron expressions.
- icon: 🗄️
title: Add multiple servers
details: Add multiple servers to your MySpeed instance and switch between them.
- icon: 🩺
title: Use Health Checks
details: Configure health checks to notify you via email, Signal, WhatsApp, or Telegram in case of errors or downtime.
- icon: 🔥
title: Support for Prometheus and Grafana
details: Integrate directly with Prometheus and Grafana to monitor your MySpeed instance.
- icon: 🗳️
title: Choose your provider
details: Choose between Ookla, LibreSpeed and Cloudflare speed test servers.
---
<style>
:root {
--vp-home-hero-name-color: transparent;
--vp-home-hero-name-background: -webkit-linear-gradient(120deg, #456ac6 30%, #46CA5A);
--vp-home-hero-image-background-image: linear-gradient(#1C2232 50%, #1C2232);
--vp-home-hero-image-filter: blur(44px);
}
@media (min-width: 640px) {
:root {
--vp-home-hero-image-filter: blur(56px);
}
}
@media (min-width: 960px) {
:root {
--vp-home-hero-image-filter: blur(68px);
}
}
</style>

View File

@@ -1,35 +1,32 @@
# 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.
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" }
![MySpeed interface](/assets/images/en/interface.png)
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 **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.
<br clear="both" />
## 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
![Last test](/assets/images/en/latest.png)
<br clear="both" />
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"}
![Overview of all tests](/assets/images/en/tests.png)
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
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).

View File

@@ -0,0 +1,98 @@
# Settings
![Latest test](/assets/images/en/settings.png){align="right"}
Clicking on the **settings-icon** ⚙️ 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.
<br clear="both" />
## 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.
:::
### 🏓 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.
### ⬆️ Up-Speed
The up-speed is the speed at which your computer sends data. The higher the value, the better.
### ⬇️ Down-Speed
The down-speed is the speed at which your computer receives data. The higher the value, the better.
### 🛠️ 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
### 🖥️ 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).
### 🔑 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.
### 🕒 Set frequency
Here you can set the frequency in which MySpeed performs your tests. This setting can be relevant for slower
connections.
### ⏸️ 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.
### 🌐 Integrations
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
### 📅 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
interface clearer.
### 📤 Export tests
Do you want to be sure and download your tests to your computer? Then you can export your tests here.
### 🌍 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).
### 📊 Change view
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.
### Information
This section shows you information about your MySpeed instance. Nothing important, just a little info. :)

View File

@@ -2,46 +2,57 @@
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
```
::: tip Help
You don't know how to install Docker? Then check out [this guide](https://docs.docker.com/engine/install/#server)
:::
=== "Development Version"
```sh
docker run -d -p 5216:5216 -v myspeed:/myspeed/data --restart=unless-stopped --name MySpeed germannewsmaker/myspeed:development
```
::: code-group
```sh [Stable Version]
docker run -d -p 5216:5216 -v myspeed:/myspeed/data --restart=unless-stopped --name MySpeed germannewsmaker/myspeed
```
```sh [Development Version]
docker run -d -p 5216:5216 -v myspeed:/myspeed/data --restart=unless-stopped --name MySpeed germannewsmaker/myspeed:development
```
:::
## Automatic installation
=== "Stable Version"
```sh
bash <(curl -sSL https://install.myspeed.dev)
```
::: code-group
=== "Development Version"
```sh
curl -sSL https://raw.githubusercontent.com/gnmyt/myspeed/development/scripts/install.sh | bash -s -- --beta
```
```sh [Stable Version]
bash <(curl -sSL https://install.myspeed.dev)
```
```sh [Development Version]
curl -sSL https://raw.githubusercontent.com/gnmyt/myspeed/development/scripts/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.
::: warning Execute these commands with caution
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/scripts/uninstall.sh | bash -s -- --keep-data
```
::: code-group
=== "Delete data"
```sh
curl -sSL https://raw.githubusercontent.com/gnmyt/myspeed/development/scripts/uninstall.sh | bash
```
```sh [Keep data]
curl -sSL https://raw.githubusercontent.com/gnmyt/myspeed/development/scripts/uninstall.sh | bash -s -- --keep-data
```
```sh [Delete data]
curl -sSL https://raw.githubusercontent.com/gnmyt/myspeed/development/scripts/uninstall.sh | bash
```
:::
## Manual installation
```sh
@@ -72,8 +83,10 @@ NODE_ENV=production node server #(7)
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.
::: warning Attention
This process installs the latest development version of MySpeed. Errors may occur.
:::
```sh
sudo apt-get install git curl -y #(1)
@@ -104,8 +117,9 @@ NODE_ENV=production node server #(7)
## Install MySpeed 24/7
!!! warning "Important"
You have used the installation script? Then you don't need to do this step at all.
::: 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.
@@ -115,7 +129,7 @@ Installing as a system service is not even that hard. In this case we use `syste
```
2. Now paste the content of the file.
```ini linenums="1"
```ini
[Unit]
Description=MySpeed
After=network.target
@@ -136,17 +150,21 @@ Installing as a system service is not even that hard. In this case we use `syste
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`
::: code-group
```sh [nano]
Press `CTRL` + `X`, then press `Y` and press `Enter` to save the file and exit the editor.
```
```sh [vim]
Press `ESC`, then type `:wq` and press `Enter` to save the file and exit the editor.
```
4. Now reload systemd
4. Now reload systemd
```sh
systemctl daemon-reload
```
5. If you want MySpeed to boot at systemd startup, type this command:
5. If you want MySpeed to boot at systemd startup, type this command:
```sh
systemctl enable myspeed
```

View File

@@ -1,6 +1,8 @@
# Setup Windows
Here we describe the setup for Windows.
## Installing MySpeed
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.
@@ -17,19 +19,20 @@ Here we describe the setup for Windows.
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:
::: 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/).
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
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.

View File

@@ -0,0 +1,23 @@
# Troubleshooting
In this guide, you will learn how to fix known errors with this service.
::: danger 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`.
:::
::: danger 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.
:::

View File

@@ -1,55 +0,0 @@
# Fragen & Antworten
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).
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 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?"
Solange du dein VPN Dienst nicht auf demselben System nutzt wie auf dem, wo MySpeed läuft, ist das kein Problem.
Andernfalls kann dein VPN die Ergebnisse verfälschen bzw. nicht realistisch wiedergeben.
??? question "Dienen diese Informationen als offizieller Nachweis für meinen Internetanbieter?"
Nein. Die Speedtests müssen dann eigenhändig vom Speedtest deines Anbieters ausgeführt werden.
MySpeed dient in dem Fall nur zu Informationszwecken und hat keinerlei rechtliche Garantien.
??? question "Was kann die Speedtests beeinflussen?"
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 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,
kannst du es auch über die Weboberfläche für eine bestimmte Zeit oder manuell pausieren.
Bei einem 24/7 Betrieb empfehlen wir ein System, das nicht viel Watt benötigt. In dem Fall empfehlen wir ein Raspberry Pi.
Solltest du bereits einen Server immer laufen haben, kannst du es auch dort parallel laufen lassen.
??? question "Wie kann ich manuelle und automatische Speedtests unterscheiden?"
Klicke bei dem jeweiligen Test auf das Uhrsymbol. Dort stehen alle Informationen zum Speedtest.
??? question "Zeigt die Funktion "Optimale Werte" meine korrekte Bandbreite an?"
Nein, das ist ein gerechneter Wert von deinen 10 letzten Speedtests. Die verfügbare Bandbreite wird in deinem Anschlussvertrag zu finden sein.
??? question "Kann der Entwickler meine Testergebnisse einsehen?"
Nein, die Testergebnisse sind nur lokal auf dem Server sichtbar.
??? question "Warum sollte ich Häufigkeiten konfigurieren?"
Das kommt sehr stark auf dein Internet an. Hast du beispielsweise ein sehr schlechtes Internet, so solltest du die Häufigkeit eher verringern. Ist dein Internet recht schnell, kannst du diese vergrößern. Auf dieser Basis werden dann je nachdem mehr oder weniger Tests gemacht.
???+ warning "Achtung"
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:
```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']})"
```
Dann kannst du die Seite erneut aufrufen und dein Passwort manuell festlegen :)

View File

@@ -1,61 +0,0 @@
# 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 :)

View File

@@ -1,105 +0,0 @@
# 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?"
In diesem Fall verwenden wir einen Reverse Proxy als Zwischenschicht zwischen dir und MySpeed.
Dies hat den Vorteil, dass du MySpeed nicht über einen Port aufrufen musst, sondern über eine normale Domain.
## Installation
Solltest du bereits einen Reverse Proxy installiert haben, kannst du diesen Schritt überspringen. Welchen der beiden
Reverse Proxies du verwenden möchtest, ist dir überlassen. Wir empfehlen dir jedoch für diesen Guide `nginx`.
=== "nginx"
```sh
sudo apt-get install nginx -y
```
=== "apache"
```sh
sudo apt-get install apache2 -y
```
## Konfiguration von MySpeed
In diesem Abschnitt wird erklärt, wie du MySpeed mit deinem Reverse Proxy verbindest. Wähle hier auch wieder aus,
welchen Reverse Proxy du verwendet hast.
=== "nginx"
Erstelle nun eine Datei mit dem Namen `myspeed.conf` unter `/etc/nginx/sites-available`. Hier verwenden wir `nano`
```sh
sudo nano /etc/nginx/sites-available/myspeed.conf
```
Füge nun folgenden Inhalt in die Datei ein:
```nginx
server {
listen 80;
listen [::]:80;
server_name deine-domain.de;
location / {
proxy_pass http://localhost:5216;
}
}
```
Nun musst du nur noch die Datei aktivieren und den Reverse Proxy neustarten.
```sh
sudo ln -s /etc/nginx/sites-available/myspeed.conf /etc/nginx/sites-enabled/myspeed.conf
sudo systemctl restart nginx
```
=== "apache"
Erstelle nun eine Datei mit dem Namen `myspeed.conf` unter `/etc/apache2/sites-available`. Hier verwenden wir `nano`
```sh
sudo nano /etc/apache2/sites-available/myspeed.conf
```
Füge nun folgenden Inhalt in die Datei ein:
```apache
<VirtualHost *:80>
ServerName deine-domain.de
ProxyPreserveHost On
ProxyPass / http://localhost:5216/
ProxyPassReverse / http://localhost:5216/
</VirtualHost>
```
Aktiviere nun die `mod_proxy` und `mod_proxy_http` Module.
```sh
sudo a2enmod proxy
sudo a2enmod proxy_http
```
Nun musst du nur noch die Datei aktivieren und den Reverse Proxy neustarten.
```sh
sudo a2ensite myspeed.conf
sudo systemctl restart apache2
```
## Konfiguration eines SSL Zertifikats mit Let's Encrypt
In diesem Abschnitt wird erklärt, wie du ein SSL Zertifikat von Let's Encrypt für MySpeed einrichtest.
!!! tip "Verwendest du Cloudflare?"
Wenn du Cloudflare verwendest und nicht extra ein SSL Zertifikat von Let's Encrypt einrichten möchtest, kannst du
auch einfach die Cloudflare Proxy Funktion aktivieren. Das genügt in den meisten Fällen vollkommen. Wenn du
dich für den Cloudflare Proxy entscheidest, kannst du diesen Abschnitt überspringen.
=== "nginx"
Zuerst musst du Certbot installieren. Hierfür verwenden wir `apt`.
```sh
sudo apt-get install certbot python3-certbot-nginx -y
```
Nun musst du Certbot ausführen und die Domain angeben, für die du das Zertifikat einrichten möchtest.
```sh
sudo certbot --nginx -d deine-domain.de
```
=== "apache"
Zuerst musst du Certbot installieren. Hierfür verwenden wir `apt`.
```sh
sudo apt-get install certbot python3-certbot-apache -y
```
Nun musst du Certbot ausführen und die Domain angeben, für die du das Zertifikat einrichten möchtest.
```sh
sudo certbot --apache -d deine-domain.de
```

View File

@@ -1,103 +0,0 @@
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
<VirtualHost *:80>
ServerName your-domain.com
ProxyPreserveHost On
ProxyPass / http://localhost:5216/
ProxyPassReverse / http://localhost:5216/
</VirtualHost>
```
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
```

View File

@@ -1,39 +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)](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

View File

@@ -1,37 +0,0 @@
# 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)](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

View File

@@ -1,35 +0,0 @@
# Die Oberfläche
Die Oberfläche von MySpeed ist vom Grund auf so konzipiert, dass sie einfach zu bedienen ist. Um mögliche Verwirrungen
jedoch zu vermeiden, wird alles hier noch einmal erklärt.
## Die Oberfläche
![MySpeed Oberfläche](/assets/images/de/interface.png){: align="left" }
Die Oberfläche von MySpeed ist in **3** Teile unterteilt.
Der **erste** Teil ist der sogenannte Header und enthält einen direkten Zugriff auf die Einstellungen und das Starten
eines Speedtests. Auf die Einstellungen wird [hier](../settings) genauer eingegangen.
Im **zweiten** Teil wird immer der aktuellste Speedtest angezeigt.
Der **dritte** Teil zeigt alle erstellten Speedtests an.
<br clear="both" />
## Letzter Test
![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 Informationen
<br clear="both" />
## Übersicht aller Tests
![Letzter Test](/assets/images/de/tests.png){align="left"}
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).

View File

@@ -1,91 +0,0 @@
# Einstellungen
![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.
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.
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.
<br clear="both" />
## Internetbezogene Einstellungen
Hierbei handelt es sich um Einstellungen, die sich auf dein optimales Internet beziehen.
!!! tip "Was ist der Sinn dahinter?"
MySpeed verwendet farbige Icons, um die Qualität deiner Internetverbindung zu symbolisieren. Gibst du in diesen
Einstellungen das Internet deines Anbieters an, wird MySpeed dir anhand von Symbolen zeigen, ob dein Internet gut,
mittelmäßig oder schlecht ist.
=== ":material-tennis: Ping"
Der Ping ist ein Wert, der die Dauer der Verbindung zwischen deinem Computer und dem Internet in **ms** anzeigt.
Je schneller (also niedriger), desto besser.
=== ":material-arrow-up: Up-Speed"
Der Up-Speed ist die Geschwindigkeit, mit der dein Computer Daten sendet. Je höher der Wert, desto besser.
=== ":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"
MySpeed sucht sich schon beim Start automatisch den nächsten Server aus. Solltest du allerdings einen näheren
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.
=== ":material-pause: Speedtests pausieren"
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: Integrationen"
![Integrationen](/assets/images/de/integrations.png){align="right"}
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.
## 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
letzten 24 und 48 Stunden sowie den letzten 7 oder 30 Tagen. Wählst du eines der beiden letzten aus, so werden dir Durchschnitte
angezeigt, um das Interface übersichtlich zu gestalten.
=== ":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-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. :)

View File

@@ -1,89 +0,0 @@
# 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.
<br clear="both" />
## 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. :)

BIN
docs/public/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
docs/public/thumbnail.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 KiB

View File

@@ -1,161 +0,0 @@
# Einrichtung Linux
Hier wird die Einrichtung für Linux beschrieben. MySpeed lässt sich über verschiedene Wege installieren.
## Installation mit Docker
!!! help "Hilfe"
Du weißt nicht wie man Docker installiert? Dann schau dir mal [diese Anleitung](https://docs.docker.com/engine/install/#server) an
=== "Stabile Version"
```sh
docker run -d -p 5216:5216 -v myspeed:/myspeed/data --restart=unless-stopped --name MySpeed germannewsmaker/myspeed
```
=== "Entwicklungsversion"
```sh
docker run -d -p 5216:5216 -v myspeed:/myspeed/data --restart=unless-stopped --name MySpeed germannewsmaker/myspeed:development
```
## Automatische Installation
=== "Stabile Version"
```sh
bash <(curl -sSL https://install.myspeed.dev)
```
=== "Entwicklungsversion"
```sh
curl -sSL https://raw.githubusercontent.com/gnmyt/myspeed/development/scripts/install.sh | bash -s -- --beta
```
## Automatischer Deinstallationsprozess
Keine Lust mehr? Du kannst MySpeed ganz einfach wieder entfernen. Entscheide hier, ob du deine Daten behalten oder löschen möchtest.
!!! warning "Führe diese Befehle mit Bedacht aus"
Das Ausführen der Befehle führt zur Löschung / Deinstallation von MySpeed. Sei dir bitte dessen bewusst.
=== "Daten behalten"
```sh
curl -sSL https://raw.githubusercontent.com/gnmyt/myspeed/development/scripts/uninstall.sh | bash -s -- --keep-data
```
=== "Daten löschen"
```sh
curl -sSL https://raw.githubusercontent.com/gnmyt/myspeed/development/scripts/uninstall.sh | bash
```
## Manuelle Installation
```sh
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_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. Hier installierst du alle notwendigen Pakete, um das Projekt zu installieren.
2. Dieser Schritt installiert die neuste Version von NodeJS.
3. Erstelle nun den Ordner, in welchen du MySpeed installieren möchtest. In diesem Fall ist das der Ordner `/opt/myspeed`.
4. Jetzt installierst du dir die neuste Version von MySpeed.
5. Nun entpackst du die gerade heruntergeladene Datei (dann kannst du sie löschen)
6. Installiere nun alle Abhängigkeiten.
7. Jetzt wird MySpeed gestartet. MySpeed ist nun unter dem Port 5216 erreichbar.
Wenn du planst, MySpeed im Hintergrund laufen zu lassen, dann schau dir den Guide dafür unten an.
## MySpeed vom Source-Code installieren
!!! warning "Achtung"
Dieser Prozess installiert die neuste Entwicklungsversion von MySpeed. Fehler können auftreten.
```sh
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_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. Hier installierst du alle notwendigen Pakete, um das Projekt zu installieren.
2. Dieser Schritt installiert die neuste Version von NodeJS.
3. Erstelle nun den Ordner, in welchen du MySpeed installieren möchtest. In diesem Fall ist das der Ordner `/opt/myspeed`.
4. Klone nun das MySpeed Repository, um Zugriff auf den Code zu erhalten.
5. Installiere nun alle Abhängigkeiten des Servers.
6. Jetzt kompilierst du die Oberfläche von MySpeed und verschiebst sie in den Ordner wo MySpeed sie lesen kann.
7. Jetzt wird MySpeed gestartet. MySpeed ist nun unter dem Port 5216 erreichbar.
Wenn du planst, MySpeed im Hintergrund laufen zu lassen, dann schau dir den Guide dafür unten an.
## MySpeed 24/7 installieren
!!! warning "Wichtig"
Du hast das Installationsskript verwendet? Dann brauchst du diesen Schritt gar nicht mehr ausführen.
Die Installation als Systemdienst ist gar nicht mal so schwer. In diesem Fall nutzen wir `systemd`, weil es direkt in den meisten Linux-Distributionen integriert ist.
1. Erstelle eine Datei mit dem Namen `myspeed.service` unter `/etc/systemd/system`. Hier verwenden wir `nano`
```sh
nano /etc/systemd/system/myspeed.service
```
2. Füge nun den Inhalt der Datei ein.
```ini linenums="1"
[Unit]
Description=MySpeed
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/node server
Restart=always
# \/ Es wird stark empfohlen, einen eigenen Nutzer hier zu erstellen
User=root
Environment=NODE_ENV=production
# \/ Gib hier deinen Installationsort an
WorkingDirectory=/opt/myspeed
[Install]
WantedBy=multi-user.target
```
3. Speicher die Datei ab. Das variiert je nach Editor ein wenig
=== "Nano"
`STRG` + `X`, dann `Y` und dann `Enter`
=== "Vim"
Drücke `ESC`, gib dann `:wq` ein und drücke `Enter`
4. Lade nun systemd neu
```sh
systemctl daemon-reload
```
5. Wenn du möchtest, dass MySpeed beim Systemstart hochfährt, gib diesen Befehl ein:
```sh
systemctl enable myspeed
```
6. Fertig! Nun kannst du MySpeed endlich starten.
```sh
systemctl start myspeed
```
7. Überprüfe jetzt noch am besten den Status von MySpeed
```sh
systemctl status myspeed
```

View File

@@ -1,59 +0,0 @@
# Einrichtung Windows
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 18 von NodeJS
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
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 🌚
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. :)
Du kannst nun MySpeed mit diesem Befehl in deiner Powershell starten.
5. MySpeed starten
```powershell
$env:NODE_ENV="production"; node server
```
## 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`.
2. Erstellen der Autostart-Datei
Stelle zuerst sicher, dass du die [Dateinamenerweiterungen aktiv hast](https://support.microsoft.com/de-de/windows/allgemeine-dateierweiterungen-in-windows-da4a4430-8e76-89c5-59f7-1cdbbc75cb01). Ist das getan. Erstelle mit `Rechtsklick` > `Neu` > `Textdokument` ein neues Dokument.
Drücke dann `STRG` + `A` und schreibe als Dateinamen "MySpeed.bat". Drücke dann 2 mal `Enter`
3. Erstellen des Inhalts
Mache einen Rechtsklick und wähle `Bearbeiten`. Füge dort dann den Code von unten ein und passe deinen Installationsort an.
```batch
@echo off
cd "C:\Users\Benutzer\Desktop\MySpeed"
set NODE_ENV=production
node server
```
4. Hat alles funktioniert, sollte MySpeed nun automatisch beim Start des Systems ebenfalls hochfahren.

View File

@@ -1,22 +0,0 @@
# Fehlerbehebung
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
Um die Berechtigungen zu setzen, gib den Befehl `chmod 700 /opt/myspeed` ein. (Ersetze /opt/myspeed mit deinem Installationsort)
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
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 "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](../setup/linux) durch,
wenn du planst, MySpeed im Hintergrund laufen zu lassen und beim Systemstart automatisch hochzufahren.

View File

@@ -1,22 +0,0 @@
# 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.

View File

@@ -1,88 +0,0 @@
site_name: MySpeed Documentation
site_url: https://docs.myspeed.dev
site_description: MySpeed is a self-hosted speedtest analysis software that stores the speed of your internet for up to 30 days.
site_author: Mathias Wagner
copyright: Copyright &copy; 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:
- locale: en
default: true
name: English
- locale: de
name: Deutsch
nav_translations:
Start: Startseite
Frequently Asked Questions: Häufig gestellte Fragen
Setup: Einrichtung
Guides: Anleitungen
Configuring a Reverse Proxy: Einrichten eines Reverse Proxys
Troubleshooting: Fehlerbehebung
Instructions: Anweisungen
The Interface: Die Benutzeroberfläche
Settings: Einstellungen
theme:
name: material
logo: assets/images/logo.png
features:
- toc.integrate
- content.code.annotate
- content.code.copy
favicon: assets/images/logo.png
palette:
- media: "(prefers-color-scheme: light)"
schema: default
primary: teal
toggle:
icon: material/brightness-7
name: Switch to dark mode
- media: "(prefers-color-scheme: dark)"
scheme: slate
primary: teal
toggle:
icon: material/brightness-4
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
link: https://discord.com/users/386242172632170496
markdown_extensions:
- attr_list
- md_in_html
- admonition
- pymdownx.details
- pymdownx.superfences
- pymdownx.tabbed:
alternate_style: true
- pymdownx.emoji:
emoji_index: !!python/name:materialx.emoji.twemoji
emoji_generator: !!python/name:materialx.emoji.to_svg
nav:
- Start: index.md
- Frequently Asked Questions: faq.md
- Setup:
- Linux: setup/linux.md
- Windows: setup/windows.md
- Guides:
- Configuring a Reverse Proxy: guides/reverse-proxy.md
- Troubleshooting: troubleshooting.md
- Instructions:
- The Interface: instructions/main.md
- Settings: instructions/settings.md

3988
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -27,6 +27,7 @@
},
"devDependencies": {
"concurrently": "^9.2.1",
"nodemon": "^3.1.10"
"nodemon": "^3.1.11",
"vitepress": "^1.6.4"
}
}