Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

📚 New Documentation #745

Draft
wants to merge 17 commits into
base: development
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,8 @@
# production
/build
/data
/bin
/bin

# docs
/docs/.vitepress/dist
/docs/.vitepress/cache
32 changes: 32 additions & 0 deletions docs/.vitepress/config/de.mjs
Original file line number Diff line number Diff line change
@@ -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' }
]
}
]
},
})
32 changes: 32 additions & 0 deletions docs/.vitepress/config/en.mjs
Original file line number Diff line number Diff line change
@@ -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' }
]
}
]
},
})
12 changes: 12 additions & 0 deletions docs/.vitepress/config/index.mjs
Original file line number Diff line number Diff line change
@@ -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 }
}
})
45 changes: 45 additions & 0 deletions docs/.vitepress/config/shared.mjs
Original file line number Diff line number Diff line change
@@ -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 changes: 71 additions & 0 deletions docs/de/faq.md
Original file line number Diff line number Diff line change
@@ -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 :)
:::
106 changes: 106 additions & 0 deletions docs/de/guides/reverse-proxy.md
Original file line number Diff line number Diff line change
@@ -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 changes: 62 additions & 0 deletions docs/de/index.md
Original file line number Diff line number Diff line change
@@ -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>
Loading