Installer sans Docker
Utiliser Docker pour installer Tianji est la meilleure façon, car vous n'avez pas à vous soucier des problèmes d'environnement.
Mais si votre serveur ne supporte pas la conteneurisation Docker, vous pouvez essayer de l'installer manuellement.
Prérequis
Vous aurez besoin de :
- Node.js 18.12+ / 20.4+
- pnpm 9.x (de préférence 9.7.1)
- Git
- PostgreSQL
- pm2 - Pour exécuter Tianji en arrière-plan
- apprise - optionnel, si vous en avez besoin pour notifier
Copier 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="replace-me-with-a-random-string"
Assurez-vous que votre URL de base de données est correcte et n'oubliez pas de créer la base de données préalablement.
Pour plus d'informations sur l'environnement, consultez 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
# Initialiser la migration de DB
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écutera sur http://localhost:12345
Mettre à jour le code vers une nouvelle version
# Basculer vers la nouvelle version/tags
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 base de données
cd src/server
pnpm db:migrate:apply
# Redémarrer le serveur
pm2 restart tianji
Questions Fréquemment Posées
Échec de l'installation de isolated-vm
Si vous utilisez Python 3.12, il se peut qu'une erreur soit signalée comme suit :
ModuleNotFoundError: No module named 'distutils'
Cela est dû au fait que Python 3.12 a supprimé distutils du module intégré. Nous avons maintenant une bonne solution à ce problème.
Vous pouvez résoudre cela en changeant votre version de Python de 3.12 à 3.9.
Comment le résoudre avec Python contrôlé 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.