Aller au contenu principal

Installation sans Docker

Utiliser Docker pour installer Tianji est la meilleure méthode car vous n'avez pas besoin de vous soucier des problèmes d'environnement.

Mais si votre serveur ne supporte pas Docker, vous pouvez essayer d'installer manuellement.

Prérequis

Vous avez besoin de :

  • Node.js 18.12+ / 20.4+
  • pnpm 9.x (9.7.1 est préférable)
  • Git
  • PostgreSQL
  • pm2 - Pour exécuter Tianji en arrière-plan
  • apprise - optionnel, si vous avez besoin de notifications

Cloner le code et construire

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

pnpm build

Préparer le fichier d'environnement

Créez un fichier .env dans src/server

DATABASE_URL="postgresql://user:[email protected]:5432/tianji?schema=public"
JWT_SECRET="remplacez-moi-par-une-chaîne-aléatoire"

Assurez-vous que votre URL de base de données est correcte et n'oubliez pas de créer la base de données au préalable.

Pour plus d'informations sur l'environnement, vous pouvez consulter ce document environment

Si possible, assurez-vous que votre encodage est en_US.utf8, par exemple : createdb -E UTF8 -l en_US.utf8 tianji

Exécuter le serveur

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

# Init db migrate
cd src/server
pnpm db:migrate:apply

# Démarrer le serveur
pm2 start ./dist/src/server/main.js --name tianji

Par défaut, Tianji s'exécute sur http://localhost:12345.

Mettre à jour le code vers une nouvelle version

# Vérifiez la nouvelle release/tag
cd tianji
git fetch --tags
git checkout -q <version>

# Mettre à jour les dépendances
pnpm install

# Construire le projet
pnpm build

# Exécuter les migrations de la base de données
cd src/server
pnpm db:migrate:apply

# Redémarrer le serveur
pm2 restart tianji

Questions Fréquemment Posées

L'installation de isolated-vm a échoué

Si vous utilisez Python 3.12, une erreur comme celle-ci peut être rapportée :

ModuleNotFoundError: No module named 'distutils'

C'est parce que Python 3.12 a supprimé distutils du module intégré. Nous avons une bonne solution pour cela.

Vous pouvez changer votre version de Python de 3.12 à 3.9 pour résoudre le problème.

Comment le résoudre avec une version de Python contrôlée par Brew

brew install [email protected]
rm /opt/homebrew/bin/python3
ln -sf /opt/homebrew/bin/python3 /opt/homebrew/bin/python3.9

Ensuite, vous pouvez vérifier la version avec python3 --version.