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.