Zum Hauptinhalt springen

Installation ohne Docker

Die Verwendung von Docker zur Installation von Tianji ist der beste Weg, da Sie sich keine Gedanken über Umgebungsprobleme machen müssen.

Wenn Ihr Server jedoch keine Dockerisierung unterstützt, können Sie versuchen, die Installation manuell durchzuführen.

Voraussetzungen

Sie benötigen:

  • Node.js 18.12+ / 20.4+
  • pnpm 9.x (9.7.1 besser)
  • Git
  • postgresql
  • pm2 - Zum Ausführen von Tianji im Hintergrund
  • apprise - optional, falls Sie es für Benachrichtigungen benötigen

Code klonen und bauen

git clone https://github.com/msgbyte/tianji.git
cd tianji
pnpm install

pnpm build

Umgebungsdatei vorbereiten

Erstellen Sie eine .env-Datei in src/server

DATABASE_URL="postgresql://user:pass@127.0.0.1:5432/tianji?schema=public"
JWT_SECRET="ersetzen-durch-einen-zufälligen-string"

Stellen Sie sicher, dass Ihre Datenbank-URL korrekt ist, und denken Sie daran, die Datenbank vorher zu erstellen.

Weitere Umgebungsvariablen finden Sie in diesem Dokument environment

Falls möglich, stellen Sie sicher, dass Ihre Kodierung en_US.utf8 ist, zum Beispiel: createdb -E UTF8 -l en_US.utf8 tianji

Server starten

npm install pm2 -g && pm2 install pm2-logrotate

# Datenbankmigration initialisieren
cd src/server
pnpm db:migrate:apply

# Server starten
pm2 start ./dist/src/server/main.js --name tianji

Standardmäßig wird Tianji auf http://localhost:12345 ausgeführt.

Code auf eine neue Version aktualisieren

# Neue Release/Tags auschecken
cd tianji
git fetch --tags
git checkout -q <version>

# Abhängigkeiten aktualisieren
pnpm install

# Projekt bauen
pnpm build

# Datenbankmigrationen ausführen
cd src/server
pnpm db:migrate:apply

# Server neu starten
pm2 restart tianji

Häufig gestellte Fragen

Installation von isolated-vm fehlgeschlagen

Wenn Sie Python 3.12 verwenden, wird möglicherweise ein Fehler wie dieser gemeldet:

ModuleNotFoundError: No module named 'distutils'

Dies liegt daran, dass Python 3.12 distutils aus den integrierten Modulen entfernt hat. Jetzt gibt es eine gute Lösung dafür.

Sie können das Problem beheben, indem Sie Ihre Python-Version von 3.12 auf 3.9 wechseln.

Wie man es in mit brew verwaltetem Python behebt

brew install python@3.9
rm /opt/homebrew/bin/python3
ln -sf /opt/homebrew/bin/python3 /opt/homebrew/bin/python3.9

Danach können Sie die Version mit python3 --version überprüfen.