Auf dieser Seite
- Vorbereitung
- Cloudflare-Einstellungen
- Aktionen
- Das Script läuft auf folgenden verifizierten Umgebungen
- Fehlermeldungen und PR's sind hier Willkommen
- Systemd oder Docker?
- Verwenden von nginx
- Hol' mehr Swaps!
- Wenn das Skript fehlschlägt
- .env-Datei
- Übernehme die Kontrolle
- Q. Zugriff nach Update mit 502-Fehler nicht möglich
- Q. Ich möchte auf demselbsen Server eine weitere Misskey-Instanz erstellen
Dieses Dokument wurde von der Community übersetzt. Dokumentation hier übersetzen: Crowdin Vielen Dank für die Mitarbeit🙏
Misskey install shell script v3.0.0
Shell-Skript, um Misskey einfach zu installieren!
Misskey ganz einfach auf dem Ubuntu-Server installieren, indem du ein paar Fragen beantwortest!
Ein "Update-Script" steht ebenfalls zur Verfügung.
Vorbereitung
- Domain
- Ubuntu Server
- Ein Cloudflare-Konto (empfohlen)
Erstellen die Datenbank nicht unter einer Serverdomäne/einem Hostnamen neu, der bereits genutzt wird!
Die Anzahl der Authentifizierungsversuche von Let’s Encrypt sind begrenzt. Überprüfe bitte sorgfältig die Netzwerk- und DNS-Einstellungen deines Servers, wir mit der Instalation fortfahren...
Cloudflare-Einstellungen
Um Cloudflare zu verwenden, stelle sicher, dass die Cloudflare-Domäne eingerichtet ist, bevor es weitergeht!
Der Nameserver(DNS) kann bis zu 3 Tage brauchen, bis die Änderung in Kraft tritt.
Gehe zum Einrichten von nginx und Cloudflare zu den Cloudflare-Einstellungen.
- DNS konfigurieren
- SSL/TLS-Einstellungen den Verschlüsselungsmodus auf „Vollständig“
Aktionen
1. SSH
Melde dich über SSH in deinem Server an.
(Sollte es sich um einen Server-Desktop handeln, öffne eine Shell.).
2. Einrichten einer Umgebung
Aktualisiere alle Pakete und starte neu.
sudo apt update; sudo apt full-upgrade -y; sudo reboot
3. Mit der Installation beginnen
Stelle eine Verbindung via SSH her und beginne Misskey zu installieren
Wir empfehlen, vor der Installation die Tipps zu lesen.
wget https://raw.githubusercontent.com/joinmisskey/bash-install/main/ubuntu.sh -O ubuntu.sh; sudo bash ubuntu.sh
Ersetze example.com durch deine eigene Domain
4. Update
Wir haben ein Update-Skript implementiert.
Das Update-Skript aktualisiert nicht deine Linux-Umgebung. Beachte die CHANGELOG (Japanisch) und das GitHub-Release (Englisch) und führe die entsprechenden Migrationsvorgänge durch.
Lade die Repository herunter
wget https://raw.githubusercontent.com/joinmisskey/bash-install/main/update.ubuntu.sh -O update.sh
Führe das Script dann aus, wenn du ein Update installieren möchtest.
sudo bash update.sh
- In der systemd-Umgebung kann das System mit der Option „-r“ aktualisiert und neu gestartet werden.
- In einer Docker-Umgebung kannst du den aktualisierten Repository-Namen:Tag-Namen als Variabel angeben.
Das Script läuft auf folgenden verifizierten Umgebungen
Oracle Cloud Infrastructure
Dieses Skript funktioniert für beide Formen, die im Always Free-Dienst von Oracle Cloud Infrastructure angeboten werden.
- VM. Standard. E2.1. Micro (AMD)
- VM. Standard. A1. Flex (ARM) 1OCPU RAM6GB oder besser
Stelle sicher, das iptables verwendet wird.
Fehlermeldungen und PR's sind hier Willkommen
Wenn es in der oben genannten Umgebung nicht funktioniert, liegt möglicherweise ein Fehler vor. Wir wären dankbar, wenn das Problem mithilfe der Issue-Funktion von GitHub gemeldet wird und dabei die bei der Installation angegebenen Bedingungen angeben werden können.
Dezeit ist es schwierig, Support für andere als die oben aufgeführten Umgebungen bereitzustellen. Wenn wir jedoch weitere Informationen zur Situation haben, können wir das Problem möglicherweise lösen.
Funktionsvorschläge nehmen wir ebenfalls gerne an.
Tipps
So wählst du die richtigen Optionen & Spezifikationen aus.
Systemd oder Docker?
Seit Version1 kann zwischen Docker und Systemd gewählt werden.
Obwohl es Docker heißt, wird nur Misskey auf Docker ausgeführt. Redis, Postgres usw. werden direkt auf dem Host ausgeführt.
[Für Informationen, wie man mit Docker-Compose alles zum Laufen bekommt, empfehle ich diesen Artikel von mamemononga.
Solltest du das Docker Hub-Image verwenden, ist dies die am meisten empfohlene Option, da dadurch die Erstellung von Misskey entfällt.
Da jedoch eine Migration erforderlich ist, kann es während der Aktualisierung dennoch vorkommen, dass Misskey nicht verwendet werden kann.
Da außerdem die Misskey-Build-Umgebung nicht vorbereitet ist (Git Pull wird nicht ausgeführt), wird die Einrichtung mühsam, falls du einen Fork verwenden möchtest.
Aufgrund von Leistungsproblemen wird das lokale Erstellen von Docker nicht empfohlen.
systemd wird empfohlen, wenn du einen Fork verwenden willst, das Image aber nicht im Docker Hub veröffentlichen möchtest.
Die empfohlene Reihenfolge wie folgt:
- Docker Hub
- systemd
- Docker-Build
Verwenden von nginx
Außer in den folgenden Fällen empfehlen wir, nginx als Reverse-Proxy zu verwenden, um als Vermittler zwischen dem Internet und Misskey zu fungieren.
- Es sind wenige Personen auf der Instanz angemeldet oder besteht aus nur einem (1-User-Server)
- Sie sind bereit, die Reverse-Proxy- und Cache-Funktionen von nginx auch mit anderen Mitteln zu schützen, beispielsweise mit einem Load Balancer (für fortgeschrittene Benutzer)
Durch die Verwendung von nginx als Reverse-Proxy können statische Inhalte wie Bilddateien zwischengespeichert werden und die Systemlast reduzieren. Darüber hinaus verfügt nginx über eine Funktion, die große Zugriffsmengen effektiv steuern kann, wenn kein Cache vorhanden ist. Dies trägt zur Reduzierung der Belastung von Misskey bei.
Konfigurationsbeispiele findest du auf der Seite nginx-Einstellungen.
Hol' mehr Swaps!
Swap muss so konfiguriert werden, das mindestens 3GB oder mehr zur Verfügung stehen, sonst kann das Skript nicht ausgeführt werden.
Wenn das Skript fehlschlägt
Sollte das Skript zwischendurch abrechen, versuche folgendes:
- Sollte Redis oder Postgres bereits installiert sein, wähle „Nein“ bei „lokal installieren“.
Lasse die Host und Porteinstellung und drücke die "Enter"-Taste. Versuche dich mit den letzen Zugangsdaten anzumelden, die du bei der Installation angegeben hattest.
.env-Datei
Das Installationsskript erstellt zwei .env-Dateien:
Wird beim Aktualisieren verwendet.
/root/.misskey.env
Dies ist erforderlich, um sich den User zu merken, der misskey ausführt.
/home/(misskeyユーザー)/.misskey.env
Wird generiert, wenn systemd verwendet wird.
Hauptsächlich zum Speichern von Verzeichnissen.
/home/(misskeyユーザー)/.misskey-docker.env
Wird erstellt, wenn die Docker Version verwendet wird.
Es speichert den Container und die Imagenummer, die ausgeführt wird.
Die Containernummer wird beim Update aktualisiert. Der alte Build wird hierbei gelöscht.
Übernehme die Kontrolle
Diese Hinweise können hilfreich sein, wenn nach der Installation Konfigurationsänderungen vorgenommen werden.
Ersetze example.com durch deine eigene Domain
Misskey-Verzeichnis
Die Quelle von Misskey wird als „/home/user/directory“ geklont.
(Der Standardwert für Benutzer und Verzeichnis ist „misskey“.)
Um zum Misskey-Verzeichnis zu gelangen, gebe folgendes in die Kommandozeile ein:
sudo -iu User
cd Datei
Um zum Ursprünglichen Benutzer zu wechseln, gebe "exit" ein.
exit
systemd
Der Systemd-Prozessname ist example.com.
Beispiel für einen Neustart:
sudo systemctl restart example.com
Mit "jounalctrl" kannst du herrausfinden, ob der Neustart funktioniert hat.
journalctl -t example.com
Die Konfigurationsdatei wird als „/etc/systemd/system/example.com.service“ gespeichert.
Docker
Docker wird ohne Rootberechtigung als Misskey-Benutzer ausgeführt.
Bei Misskey-Benutzer, die mit sudo laufen sollen, muss „XDG_RUNTIME_DIR“ und „DOCKER_HOST“ geändert werden.
sudo -iu user
export XDG_RUNTIME_DIR=/run/user/$UID
export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sock
# Prozessliste anzeigen
docker ps
# Erstellen (Repository: lokal/misskey:latest)
docker build -t local/misskey:latest ./misskey
# Docker-Ausführung
docker run -d -p 3000:3000 --add-host=docker_host:10.0.0.1 -v /home/misskey/misskey/files:/misskey/files -v "/home/misskey/misskey/.config/default. yml“:/misskey/.config/default.yml:ro --restart unless-stopped -t „local/misskey:latest“
# Protokolle anzeigen
Docker log --tail 50 -f Container-ID
Als Einzeiler, sähe das so aus:
sudo -u user XDG_RUNTIME_DIR=/run/user/$(id -u user) DOCKER_HOST=unix:///run/user/$(id -u user)/docker.sock docker ps
nginx
Die Nginx-Konfiguration wird als „/etc/nginx/conf.d/example.com.conf“ gespeichert.
Redis
requirepass und bind werden in /etc/redis/misskey.conf
festgelegt.
Q. Zugriff nach Update mit 502-Fehler nicht möglich
In Docker erfolgt die Migration nach dem Start, der Zugriff geht nich sofort.
Überprüfe, ob die Migration abgeschlossen ist.
Im Fall von systemd ist die pnpm-Installation möglicherweise fehlgeschlagen.
Gehe in das Misskey-Verzeichnis und versuche folgendes:
pnpm run clean-all
Beim ausführen von jounalctl sollte "re2" irgendwo stehen.
Q. Ich möchte auf demselbsen Server eine weitere Misskey-Instanz erstellen
Das Skript geht nicht davon aus, dass zusätzliche Misskeys auf demselben Server installiert werden.
Einige Einstellungen werden überschrieben oder es treten unterwegs Fehlermeldungen auf.
Auf dieser Seite
- Vorbereitung
- Cloudflare-Einstellungen
- Aktionen
- Das Script läuft auf folgenden verifizierten Umgebungen
- Fehlermeldungen und PR's sind hier Willkommen
- Systemd oder Docker?
- Verwenden von nginx
- Hol' mehr Swaps!
- Wenn das Skript fehlschlägt
- .env-Datei
- Übernehme die Kontrolle
- Q. Zugriff nach Update mit 502-Fehler nicht möglich
- Q. Ich möchte auf demselbsen Server eine weitere Misskey-Instanz erstellen