Instalar sin Docker
Usar Docker para instalar Tianji es la mejor manera ya que no necesitas preocuparte por problemas de entorno.
Pero si tu servidor no soporta dockerización, puedes intentar instalarlo manualmente.
Requisitos
Necesitas:
- Node.js 18.12+ / 20.4+
- pnpm 9.x (mejor 9.7.1)
- Git
- PostgreSQL
- pm2 - para ejecutar Tianji en segundo plano
- apprise - opcional, si necesitas notificaciones
Clonar Código y Construir
git clone https://github.com/msgbyte/tianji.git
cd tianji
pnpm install
pnpm build
Preparar Archivo de Entorno
Crea un archivo .env en src/server
DATABASE_URL="postgresql://user:[email protected]:5432/tianji?schema=public"
JWT_SECRET="reemplázame-con-una-cadena-aleatoria"
Asegúrate de que la URL de tu base de datos sea correcta y no olvides crear la base de datos antes.
Para más configuraciones de entorno, puedes revisar este documento environment
Si puedes, mejor asegurarte de que tu codificación sea en_US.utf8, por ejemplo:
createdb -E UTF8 -l en_US.utf8 tianji
Ejecutar Servidor
npm install pm2 -g && pm2 install pm2-logrotate
# Inicializar migración de base de datos
cd src/server
pnpm db:migrate:apply
# Iniciar Servidor
pm2 start ./dist/src/server/main.js --name tianji
Por defecto, Tianji correrá en http://localhost:12345
Actualizar Código a una Nueva Versión
# Cambiar a nueva release/etiqueta
cd tianji
git fetch --tags
git checkout -q <version>
# Actualizar dependencias
pnpm install
# Construir proyecto
pnpm build
# Ejecutar migraciones de base de datos
cd src/server
pnpm db:migrate:apply
# Reiniciar Servidor
pm2 restart tianji
Preguntas Frecuentes
Error al instalar isolated-vm
Si estás usando Python 3.12, reportará un error como este:
ModuleNotFoundError: No module named 'distutils'
Esto se debe a que Python 3.12 eliminó distutils del módulo incorporado. Ahora tenemos una buena solución para esto.
Puedes cambiar tu versión de Python de 3.12 a 3.9 para resolverlo.
Cómo resolverlo en Python controlado por Brew
brew install [email protected]
rm /opt/homebrew/bin/python3
ln -sf /opt/homebrew/bin/python3 /opt/homebrew/bin/python3.9
Luego puedes verificar la versión con python3 --version