Skip to content

Commit b80ec73

Browse files
authored
Merge pull request #745 from gnmyt/updates/new-documentation
📚 New Documentation
2 parents e86b6bb + 51e8839 commit b80ec73

40 files changed

Lines changed: 5348 additions & 1194 deletions

.github/workflows/upload_docs.yml

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,29 @@ name: Deploy documentation to GitHub
22
on:
33
push:
44
branches: [ "development" ]
5-
paths: [ "docs/**", "mkdocs.yml" ]
5+
paths: [ "docs/**" ]
66

77
jobs:
88
deploy:
99
runs-on: ubuntu-latest
1010
steps:
11-
- uses: actions/checkout@v3
11+
- uses: actions/checkout@v4
12+
with:
13+
fetch-depth: 0
1214

13-
- uses: actions/setup-python@v4
15+
- uses: actions/setup-node@v4
1416
with:
15-
python-version: 3.9
17+
node-version: 20
18+
cache: npm
1619

1720
- name: Install dependencies
18-
run: pip install mkdocs-material mkdocs-static-i18n
21+
run: npm ci
22+
23+
- name: Build documentation
24+
run: npx vitepress build docs
1925

20-
- name: Deploy documentation
21-
run: mkdocs gh-deploy --force
26+
- name: Deploy to GitHub Pages
27+
uses: peaceiris/actions-gh-pages@v4
28+
with:
29+
github_token: ${{ secrets.GITHUB_TOKEN }}
30+
publish_dir: docs/.vitepress/dist

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,8 @@
1111
# production
1212
/build
1313
/data
14-
/bin
14+
/bin
15+
16+
# docs
17+
/docs/.vitepress/dist
18+
/docs/.vitepress/cache

docs/.vitepress/config/de.mjs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import { defineConfig } from 'vitepress'
2+
3+
export const de = defineConfig({
4+
lang: "de",
5+
description: "MySpeed ist eine selbstgehostete Speedtest-Analyse-Software, die die Geschwindigkeit Ihres Internets bis zu 30 Tage lang speichert.",
6+
themeConfig: {
7+
nav: [
8+
{ text: 'Häufig gestellte Fragen', link: 'de/faq' },
9+
{
10+
text: 'Einrichtung',
11+
items: [
12+
{ text: 'Linux', link: 'de/setup/linux' },
13+
{ text: 'Windows', link: 'de/setup/windows' }
14+
]
15+
},
16+
{
17+
text: 'Anleitungen',
18+
items: [
19+
{ text: 'Einrichten eines Reverse Proxys', link: 'de/guides/reverse-proxy' }
20+
]
21+
},
22+
{ text: 'Fehlerbehebung', link: 'de/troubleshooting' },
23+
{
24+
text: 'Anweisungen',
25+
items: [
26+
{ text: 'Die Benutzeroberfläche', link: 'de/instructions/main' },
27+
{ text: 'Einstellungen', link: 'de/instructions/settings' }
28+
]
29+
}
30+
]
31+
},
32+
})

docs/.vitepress/config/en.mjs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import { defineConfig } from 'vitepress'
2+
3+
export const en = defineConfig({
4+
lang: "en-US",
5+
description: "MySpeed is a self-hosted speedtest analysis software that stores the speed of your internet for up to 30 days.",
6+
themeConfig: {
7+
nav: [
8+
{ text: 'Frequently Asked Questions', link: 'faq' },
9+
{
10+
text: 'Setup',
11+
items: [
12+
{ text: 'Linux', link: 'setup/linux' },
13+
{ text: 'Windows', link: 'setup/windows' }
14+
]
15+
},
16+
{
17+
text: 'Guides',
18+
items: [
19+
{ text: 'Configuring a Reverse Proxy', link: 'guides/reverse-proxy' }
20+
]
21+
},
22+
{ text: 'Troubleshooting', link: 'troubleshooting' },
23+
{
24+
text: 'Instructions',
25+
items: [
26+
{ text: 'The Interface', link: 'instructions/main' },
27+
{ text: 'Settings', link: 'instructions/settings' }
28+
]
29+
}
30+
]
31+
},
32+
})

docs/.vitepress/config/index.mjs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { defineConfig } from 'vitepress'
2+
import { shared } from './shared.mjs';
3+
import { en } from './en.mjs'
4+
import { de } from './de.mjs'
5+
6+
export default defineConfig({
7+
...shared,
8+
locales: {
9+
root: { label: 'English', ...en },
10+
de: { label: 'Deutsch', ...de }
11+
}
12+
})

docs/.vitepress/config/shared.mjs

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import { defineConfig } from 'vitepress'
2+
3+
export const shared = defineConfig({
4+
rewrites: {
5+
'en/:rest*': ':rest*'
6+
},
7+
8+
title: 'MySpeed',
9+
10+
lastUpdated: true,
11+
cleanUrls: true,
12+
metaChunk: true,
13+
14+
sitemap: {
15+
hostname: 'https://myspeed.gnmyt.dev',
16+
transformItems(items) {
17+
return items.filter((item) => !item.url.includes('migration'))
18+
}
19+
},
20+
21+
/* prettier-ignore */
22+
head: [
23+
['link', { rel: 'icon', type: 'image/png', href: '/logo.png' }],
24+
['meta', { name: 'theme-color', content: '#1C2232' }],
25+
['meta', { property: 'og:type', content: 'website' }],
26+
['meta', { property: 'og:locale', content: 'en' }],
27+
['meta', { property: 'og:title', content: 'MySpeed | Self-hosted speedtest analysis software' }],
28+
['meta', { property: 'og:site_name', content: 'MySpeed' }],
29+
['meta', { property: 'og:image', content: 'https://myspeed.gnmyt.dev/assets/images/thumbnail.png' }],
30+
['meta', { property: 'og:url', content: 'https://myspeed.gnmyt.dev/' }]
31+
],
32+
themeConfig: {
33+
logo: '/logo.png',
34+
footer: {
35+
copyright: '© 2024 Mathias Wagner',
36+
},
37+
search: {
38+
provider: 'local'
39+
},
40+
socialLinks: [
41+
{icon: 'github', link: 'https://github.com/gnmyt/myspeed'},
42+
{icon: 'discord', link: 'https://discord.com/users/386242172632170496'}
43+
],
44+
}
45+
})

docs/de/faq.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# Fragen & Antworten
2+
3+
Hier beantworten wir die Fragen, die Sie haben könnten.
4+
5+
::: details Wie installiere ich MySpeed?
6+
Je nach Betriebssystem sind diese Anweisungen unterschiedlich. Hier finden Sie die Anweisungen für [Windows](setup/windows) und [Linux](setup/linux).
7+
Es wird jedoch dringend empfohlen, MySpeed unter Linux zu installieren.
8+
:::
9+
10+
::: details Was sind die Anforderungen?
11+
Es hängt davon ab, welche Art von Bandbreite Sie haben. Für Linux könnte es so aussehen:
12+
Wenn Sie maximal 100 Mbps haben, reicht ein Raspberry Pi 1 oder ein anderer alter Computer aus.
13+
Bei einer Gbit-Leitung sind ein Raspberry Pi 4 oder ein PC mit 1Gbit LAN-Unterstützung wichtig.
14+
:::
15+
16+
::: details Kann ich MySpeed trotz VPN verwenden?
17+
Solange Sie Ihren VPN-Dienst nicht auf dem gleichen System verwenden, auf dem MySpeed läuft, gibt es kein Problem.
18+
Andernfalls könnten Ihre VPN-Einstellungen die Ergebnisse verzerren oder diese nicht realistisch widerspiegeln.
19+
:::
20+
21+
::: details Dient diese Information als offizieller Nachweis für meinen ISP?
22+
Nein. Die Geschwindigkeitstests müssen vom Geschwindigkeitstestdienst Ihres Anbieters durchgeführt werden.
23+
In diesem Fall dient MySpeed nur zu Informationszwecken und bietet keine rechtliche Garantie.
24+
:::
25+
26+
::: details Was kann die Geschwindigkeitstests beeinflussen?
27+
Es gibt viele Faktoren, die die Geschwindigkeitstests beeinflussen können. Zum Beispiel können Hintergrunddienste
28+
die Ergebnisse beeinflussen. Es ist am besten, sie während der jeweiligen Testzeiten auszuschalten, da sonst Ihre
29+
Ergebnisse manipuliert werden könnten.
30+
:::
31+
32+
::: details Was passiert mit den alten Testergebnissen?
33+
Die alten Testergebnisse werden automatisch gelöscht, sobald sie älter als 30 Tage sind.
34+
:::
35+
36+
::: details Muss MySpeed dauerhaft laufen?
37+
Wir empfehlen es, um bessere Ergebnisse zu erzielen. Wenn es Sie beim Streamen von Filmen usw. stört,
38+
können Sie es über die Web-Schnittstelle für eine bestimmte Zeit pausieren oder manuell anhalten.
39+
Für den 24/7-Betrieb empfehlen wir ein System, das nicht viel Strom verbraucht. In diesem Fall empfehlen wir einen Raspberry Pi.
40+
Wenn Sie bereits einen Server haben, der ständig läuft, können Sie es auch dort parallel laufen lassen.
41+
:::
42+
43+
::: details Wie kann ich zwischen manuellen und automatischen Geschwindigkeitstests unterscheiden?
44+
Klicken Sie auf das Uhrsymbol des jeweiligen Tests. Dort finden Sie alle Informationen zum Geschwindigkeitstest.
45+
:::
46+
47+
::: details Zeigt die "Empfehlungen"-Funktion meine tatsächliche Bandbreite an?
48+
Nein, dies ist ein berechneter Wert aus Ihren letzten 10 Geschwindigkeitstests. Die verfügbare Bandbreite finden Sie in Ihrem Vertragsangebot.
49+
:::
50+
51+
::: details Kann der Entwickler meine Testergebnisse sehen?
52+
Nein, die Testergebnisse sind nur lokal auf dem Server sichtbar.
53+
:::
54+
55+
::: details Warum sollte ich Frequenzen konfigurieren?
56+
Es hängt stark von Ihrem Internet ab. Wenn Sie z.B. eine sehr schlechte Internetverbindung haben, sollten Sie die Frequenz eher verringern.
57+
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.
58+
59+
::: warning Achtung
60+
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.
61+
:::
62+
63+
::: details Wie setze ich mein Passwort zurück?
64+
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:
65+
66+
```sh
67+
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']})"
68+
```
69+
70+
Dann können Sie die Seite erneut aufrufen und Ihr Passwort manuell setzen :)
71+
:::

docs/de/guides/reverse-proxy.md

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# Konfiguration eines Reverse Proxies
2+
3+
::: Tipp Warum einen Reverse Proxy verwenden?
4+
In diesem Fall verwenden wir einen Reverse Proxy als Zwischenschicht zwischen dir und MySpeed.
5+
Der Vorteil dabei ist, dass du MySpeed nicht über einen Port aufrufen musst, sondern über eine normale Domain.
6+
:::
7+
8+
## Installation
9+
10+
Falls du bereits einen Reverse Proxy installiert hast, kannst du diesen Schritt überspringen. Welchen der beiden Reverse Proxies du verwenden möchtest,
11+
liegt bei dir. Wir empfehlen jedoch `nginx` für diese Anleitung.
12+
13+
::: code-group
14+
15+
```sh [nginx]
16+
sudo apt-get install nginx -y
17+
```
18+
19+
```sh [apache]
20+
sudo apt-get install apache2 -y
21+
```
22+
23+
:::
24+
25+
## Konfiguration von MySpeed
26+
27+
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.
28+
29+
::: code-group
30+
31+
```sh [nginx]
32+
# Erstelle eine Datei namens myspeed.conf unter /etc/nginx/sites-available. Hier verwenden wir nano
33+
sudo nano /etc/nginx/sites-available/myspeed.conf
34+
```
35+
36+
```nginx [myspeed.conf]
37+
server {
38+
listen 80;
39+
listen [::]:80;
40+
41+
server_name deine-domain.de;
42+
43+
location / {
44+
proxy_pass http://localhost:5216;
45+
}
46+
}
47+
```
48+
49+
```sh [nginx]
50+
# Aktiviere die Datei und starte den Reverse Proxy neu
51+
sudo ln -s /etc/nginx/sites-available/myspeed.conf /etc/nginx/sites-enabled/myspeed.conf
52+
sudo systemctl restart nginx
53+
```
54+
55+
```sh [apache]
56+
# Erstelle eine Datei namens myspeed.conf unter /etc/apache2/sites-available. Hier verwenden wir nano
57+
sudo nano /etc/apache2/sites-available/myspeed.conf
58+
```
59+
60+
```apache [myspeed.conf]
61+
<VirtualHost *:80>
62+
ServerName deine-domain.de
63+
64+
ProxyPreserveHost On
65+
ProxyPass / http://localhost:5216/
66+
ProxyPassReverse / http://localhost:5216/
67+
</VirtualHost>
68+
```
69+
70+
```sh [apache]
71+
# Aktiviere die Module mod_proxy und mod_proxy_http
72+
sudo a2enmod proxy
73+
sudo a2enmod proxy_http
74+
75+
# Aktiviere die Datei und starte den Reverse Proxy neu
76+
sudo a2ensite myspeed.conf
77+
sudo systemctl restart apache2
78+
```
79+
80+
:::
81+
82+
## Konfiguration eines SSL-Zertifikats mit Let's Encrypt
83+
84+
In diesem Abschnitt wird erklärt, wie du ein SSL-Zertifikat von Let's Encrypt für MySpeed einrichtest.
85+
86+
::: Tipp Verwendest du Cloudflare?
87+
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.
88+
:::
89+
90+
::: code-group
91+
92+
```sh [nginx]
93+
# Installiere Certbot
94+
sudo apt-get install certbot python3-certbot-nginx -y
95+
96+
# Führe Certbot aus und gib die Domain an
97+
sudo certbot --nginx -d deine-domain.de
98+
```
99+
100+
```sh [apache]
101+
# Installiere Certbot
102+
sudo apt-get install certbot python3-certbot-apache -y
103+
104+
# Führe Certbot aus und gib die Domain an
105+
sudo certbot --apache -d deine-domain.de
106+
```

0 commit comments

Comments
 (0)