Skip to content

Commit 0db2013

Browse files
committed
docs: add troubleshooting for websocket connection issues
1 parent c6aae8f commit 0db2013

9 files changed

Lines changed: 451 additions & 131 deletions

File tree

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
---
2+
sidebar_position: 100
3+
---
4+
5+
# Troubleshooting
6+
7+
This document collects common issues and their solutions that you may encounter when using Tianji.
8+
9+
## WebSocket Connection Issues
10+
11+
### Problem Description
12+
13+
When using HTTPS services, other functions work normally, but WebSocket service cannot connect properly, which manifests as:
14+
15+
- The connection status indicator in the bottom left corner shows gray
16+
- Server page list shows counts but no actual content
17+
18+
### Root Cause
19+
20+
This issue is usually caused by improper WebSocket forwarding policies in reverse proxy software. In HTTPS environments, WebSocket connections require correct Cookie security policies.
21+
22+
### Solution
23+
24+
You can resolve this issue by setting the following environment variable:
25+
26+
```bash
27+
AUTH_USE_SECURE_COOKIES=true
28+
```
29+
30+
This setting forces the application to treat cookies passed by the browser as encrypted cookies, thereby resolving WebSocket connection issues.
31+
32+
#### Configuration Methods
33+
34+
**Docker Environment:**
35+
```yaml
36+
# docker-compose.yml
37+
services:
38+
tianji:
39+
environment:
40+
- AUTH_USE_SECURE_COOKIES=true
41+
```
42+
43+
**Direct Deployment:**
44+
```bash
45+
export AUTH_USE_SECURE_COOKIES=true
46+
```
47+
48+
**systemd Service:**
49+
```ini
50+
[Service]
51+
Environment=AUTH_USE_SECURE_COOKIES=true
52+
```
53+
54+
### Verification Steps
55+
56+
After configuration, restart the service and check:
57+
58+
1. The bottom left connection status indicator should show green
59+
2. Server pages should display real-time data normally
60+
3. WebSocket connections should be established properly in browser developer tools
61+
62+
---
63+
64+
*If you encounter other issues, feel free to submit an [Issue](https://github.com/msgbyte/tianji/issues) or contribute solutions to this documentation.*

website/i18n/de/docusaurus-plugin-content-docs/current/install/environment.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
---
22
sidebar_position: 10
3-
_i18n_hash: 5ff3432ae327097b85732e04b2cda2d3
3+
_i18n_hash: 0648c6e4c85f3bd3ac4cdd91fad4eb39
44
---
55
# Umgebungsvariablen
66

7-
Tianji unterstützt verschiedene Umgebungsvariablen, um sein Verhalten anzupassen. Sie können diese Variablen im `env`-Feld Ihres Docker Compose oder über Ihre Bereitstellungsumgebung konfigurieren.
7+
Tianji unterstützt verschiedene Umgebungsvariablen zur Anpassung des Verhaltens. Diese Variablen können Sie in Ihrem Docker Compose `env`-Feld oder über Ihre Bereitstellungsumgebung konfigurieren.
88

99
## Grundkonfiguration
1010

1111
| Variable | Beschreibung | Standard | Beispiel |
1212
| --- | --- | --- | --- |
1313
| `PORT` | Server-Port | `12345` | `3000` |
14-
| `JWT_SECRET` | Geheimnis für JWT-Token | Zufälliger Text | `your-secret-key` |
14+
| `JWT_SECRET` | Geheimnis für JWT-Tokens | Zufälliger Text | `your-secret-key` |
1515
| `ALLOW_REGISTER` | Benutzerregistrierung aktivieren | `false` | `true` |
16-
| `ALLOW_OPENAPI` | OpenAPI-Zugriff aktivieren | `true` | `false` |
17-
| `WEBSITE_ID` | Website-ID | - | `your-website-id` |
16+
| `ALLOW_OPENAPI` | Zugang zu OpenAPI aktivieren | `true` | `false` |
17+
| `WEBSITE_ID` | Webseiten-Kennung | - | `your-website-id` |
1818
| `DISABLE_AUTO_CLEAR` | Automatische Datenbereinigung deaktivieren | `false` | `true` |
1919
| `DISABLE_ACCESS_LOGS` | Zugriffsprotokolle deaktivieren | `false` | `true` |
2020
| `DB_DEBUG` | Datenbank-Debugging aktivieren | `false` | `true` |
@@ -23,16 +23,16 @@ Tianji unterstützt verschiedene Umgebungsvariablen, um sein Verhalten anzupasse
2323

2424
| Variable | Beschreibung | Standard | Beispiel |
2525
| --- | --- | --- | --- |
26-
| `DISABLE_ACCOUNT` | Konto-Authentifizierung deaktivieren | `false` | `true` |
26+
| `DISABLE_ACCOUNT` | Account-basierte Authentifizierung deaktivieren | `false` | `true` |
2727
| `AUTH_SECRET` | Authentifizierungsgeheimnis | MD5 des JWT-Geheimnisses | `your-auth-secret` |
2828
| `AUTH_RESTRICT_EMAIL` | Registrierung auf bestimmte E-Mail-Domains beschränken | - | `@example.com` |
2929

30-
### E-Mail-Authentifizierung
30+
### E-Mail-Authentifizierung und E-Mail-Einladung
3131

3232
| Variable | Beschreibung | Standard | Beispiel |
3333
| --- | --- | --- | --- |
3434
| `EMAIL_SERVER` | SMTP-Server für E-Mails | - | `smtp://user:pass@smtp.example.com:587` |
35-
| `EMAIL_FROM` | Absenderadresse für E-Mails | - | `noreply@example.com` |
35+
| `EMAIL_FROM` | Absenderadresse der E-Mail | - | `noreply@example.com` |
3636

3737
### GitHub-Authentifizierung
3838

@@ -54,26 +54,26 @@ Tianji unterstützt verschiedene Umgebungsvariablen, um sein Verhalten anzupasse
5454
| --- | --- | --- | --- |
5555
| `AUTH_CUSTOM_ID` | Benutzerdefinierte OAuth/OIDC-Client-ID | - | `your-custom-client-id` |
5656
| `AUTH_CUSTOM_SECRET` | Benutzerdefiniertes OAuth/OIDC-Client-Geheimnis | - | `your-custom-client-secret` |
57-
| `AUTH_CUSTOM_NAME` | Name des benutzerdefinierten Anbieters | `Custom` | `Enterprise SSO` |
57+
| `AUTH_CUSTOM_NAME` | Name des benutzerdefinierten Providers | `Custom` | `Enterprise SSO` |
5858
| `AUTH_CUSTOM_TYPE` | Authentifizierungstyp | `oidc` | `oauth` |
59-
| `AUTH_CUSTOM_ISSUR` | OIDC-Issuer-URL | - | `https://auth.example.com` |
59+
| `AUTH_CUSTOM_ISSUR` | OIDC Herausgeber-URL | - | `https://auth.example.com` |
6060

61-
## KI-Funktionen
61+
## AI-Funktionen
6262

6363
| Variable | Beschreibung | Standard | Beispiel |
6464
| --- | --- | --- | --- |
6565
| `OPENAI_API_KEY` | OpenAI API-Schlüssel | - | `your-openai-api-key` |
6666
| `OPENAI_BASE_URL` | Benutzerdefinierte OpenAI API-URL | - | `https://api.openai.com/v1` |
67-
| `OPENAI_MODEL_NAME` | Zu verwendendes OpenAI Modell | `gpt-4o` | `gpt-3.5-turbo` |
68-
| `DEBUG_AI_FEATURE` | KI-Funktionen debuggen | `false` | `true` |
67+
| `OPENAI_MODEL_NAME` | Zu verwendendes OpenAI-Modell | `gpt-4o` | `gpt-3.5-turbo` |
68+
| `DEBUG_AI_FEATURE` | AI-Funktionen debuggen | `false` | `true` |
6969

7070
## Sandbox-Konfiguration
7171

7272
| Variable | Beschreibung | Standard | Beispiel |
7373
| --- | --- | --- | --- |
74-
| `USE_VM2` | VM2 für Sandbox-Ausführung verwenden | `false` | `true` |
75-
| `SANDBOX_MEMORY_LIMIT` | Speicherlimit für Sandbox (MB) | `16` | `32` |
76-
| `PUPPETEER_EXECUTABLE_PATH` | Benutzerdefinierter Pfad zur Puppeteer-Ausführungsdatei | - | `/usr/bin/chromium` |
74+
| `USE_VM2` | VM2 für Sandkasten-Ausführung verwenden | `false` | `true` |
75+
| `SANDBOX_MEMORY_LIMIT` | Speicherbegrenzung für den Sandkasten (MB) | `16` | `32` |
76+
| `PUPPETEER_EXECUTABLE_PATH` | Benutzerdefinierter Pfad zur Puppeteer ausführbaren Datei | - | `/usr/bin/chromium` |
7777

7878
## Kartenintegration
7979

@@ -87,7 +87,7 @@ Tianji unterstützt verschiedene Umgebungsvariablen, um sein Verhalten anzupasse
8787
| Variable | Beschreibung | Standard | Beispiel |
8888
| --- | --- | --- | --- |
8989
| `DISABLE_ANONYMOUS_TELEMETRY` | Anonyme Telemetrie deaktivieren | `false` | `true` |
90-
| `CUSTOM_TRACKER_SCRIPT_NAME` | Benutzerdefinierter Name des Tracker-Skripts | - | `custom-tracker.js` |
90+
| `CUSTOM_TRACKER_SCRIPT_NAME` | Benutzerdefinierter Tracker-Skriptname | - | `custom-tracker.js` |
9191

9292
## Festlegen von Umgebungsvariablen
9393

@@ -108,4 +108,4 @@ services:
108108
109109
## Boolesche Werte
110110
111-
Für boolesche Umgebungsvariablen können Sie entweder `"1"` oder `"true"` verwenden, um das Feature zu aktivieren, und entweder die Variable weglassen oder auf einen anderen Wert setzen, um es zu deaktivieren.
111+
Für boolesche Umgebungsvariablen können Sie entweder `"1"` oder `"true"` verwenden, um die Funktion zu aktivieren, und entweder die Variable weglassen oder auf einen anderen Wert setzen, um sie zu deaktivieren.
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
---
2+
sidebar_position: 100
3+
_i18n_hash: 05e241c8bd878bb8fb511bdc81a2cee9
4+
---
5+
# Fehlerbehebung
6+
7+
Dieses Dokument sammelt häufige Probleme und deren Lösungen, die bei der Verwendung von Tianji auftreten können.
8+
9+
## WebSocket-Verbindungsprobleme
10+
11+
### Problembeschreibung
12+
13+
Beim Verwenden von HTTPS-Diensten funktionieren andere Funktionen normal, aber der WebSocket-Dienst kann nicht ordnungsgemäß verbunden werden, was sich wie folgt äußert:
14+
15+
- Der Verbindungsstatusanzeiger in der unteren linken Ecke zeigt grau
16+
- Die Serverseitenseitenliste zeigt Zählungen, aber keinen tatsächlichen Inhalt
17+
18+
### Ursache
19+
20+
Dieses Problem wird normalerweise durch falsche Weiterleitungsrichtlinien für WebSockets in Revers-Proxy-Software verursacht. In HTTPS-Umgebungen erfordern WebSocket-Verbindungen korrekte Cookie-Sicherheitsrichtlinien.
21+
22+
### Lösung
23+
24+
Sie können dieses Problem beheben, indem Sie die folgende Umgebungsvariable setzen:
25+
26+
```bash
27+
AUTH_USE_SECURE_COOKIES=true
28+
```
29+
30+
Diese Einstellung zwingt die Anwendung, Cookies, die vom Browser übergeben werden, als verschlüsselte Cookies zu behandeln, wodurch das Problem mit den WebSocket-Verbindungen behoben wird.
31+
32+
#### Konfigurationsmethoden
33+
34+
**Docker-Umgebung:**
35+
```yaml
36+
# docker-compose.yml
37+
services:
38+
tianji:
39+
environment:
40+
- AUTH_USE_SECURE_COOKIES=true
41+
```
42+
43+
**Direkte Bereitstellung:**
44+
```bash
45+
export AUTH_USE_SECURE_COOKIES=true
46+
```
47+
48+
**systemd-Dienst:**
49+
```ini
50+
[Service]
51+
Environment=AUTH_USE_SECURE_COOKIES=true
52+
```
53+
54+
### Überprüfungsschritte
55+
56+
Nach der Konfiguration starten Sie den Dienst neu und überprüfen Sie:
57+
58+
1. Der Verbindungsstatusanzeiger unten links sollte grün anzeigen
59+
2. Serverseiten sollten Echtzeitdaten normal anzeigen
60+
3. WebSocket-Verbindungen sollten ordnungsgemäß in den Entwickler-Tools des Browsers hergestellt werden
61+
62+
---
63+
64+
*Wenn Sie auf andere Probleme stoßen, können Sie gerne ein [Issue](https://github.com/msgbyte/tianji/issues) einreichen oder Lösungen zu dieser Dokumentation beitragen.*
Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,101 +1,101 @@
11
---
22
sidebar_position: 10
3-
_i18n_hash: 5ff3432ae327097b85732e04b2cda2d3
3+
_i18n_hash: 0648c6e4c85f3bd3ac4cdd91fad4eb39
44
---
55
# Variables d'environnement
66

7-
Tianji prend en charge diverses variables d'environnement pour personnaliser son comportement. Vous pouvez configurer ces variables dans votre champ `env` de docker compose ou via votre environnement de déploiement.
7+
Tianji prend en charge diverses variables d'environnement pour personnaliser son comportement. Vous pouvez configurer ces variables dans le champ `env` de votre docker-compose ou via votre environnement de déploiement.
88

99
## Configuration de base
1010

11-
| Variable | Description | Par défaut | Exemple |
11+
| Variable | Description | Défault | Exemple |
1212
| --- | --- | --- | --- |
1313
| `PORT` | Port du serveur | `12345` | `3000` |
14-
| `JWT_SECRET` | Clé secrète pour les jetons JWT | Texte aléatoire | `your-secret-key` |
14+
| `JWT_SECRET` | Secret pour les tokens JWT | Texte aléatoire | `votre-clé-secrète` |
1515
| `ALLOW_REGISTER` | Activer l'enregistrement des utilisateurs | `false` | `true` |
1616
| `ALLOW_OPENAPI` | Activer l'accès OpenAPI | `true` | `false` |
17-
| `WEBSITE_ID` | Identifiant du site Web | - | `your-website-id` |
17+
| `WEBSITE_ID` | Identifiant du site web | - | `votre-id-site-web` |
1818
| `DISABLE_AUTO_CLEAR` | Désactiver le nettoyage automatique des données | `false` | `true` |
1919
| `DISABLE_ACCESS_LOGS` | Désactiver les journaux d'accès | `false` | `true` |
2020
| `DB_DEBUG` | Activer le débogage de la base de données | `false` | `true` |
2121

2222
## Authentification
2323

24-
| Variable | Description | Par défaut | Exemple |
24+
| Variable | Description | Défault | Exemple |
2525
| --- | --- | --- | --- |
2626
| `DISABLE_ACCOUNT` | Désactiver l'authentification basée sur le compte | `false` | `true` |
27-
| `AUTH_SECRET` | Clé secrète d'authentification | MD5 de la clé JWT | `your-auth-secret` |
28-
| `AUTH_RESTRICT_EMAIL` | Restreindre l'enregistrement à des domaines d'email spécifiques | - | `@example.com` |
27+
| `AUTH_SECRET` | Secret d'authentification | MD5 du secret JWT | `votre-secret-auth` |
28+
| `AUTH_RESTRICT_EMAIL` | Restreindre l'inscription à des domaines d'email spécifiques | - | `@example.com` |
2929

30-
### Authentification par email
30+
### Authentification par Email et Invitation par Email
3131

32-
| Variable | Description | Par défaut | Exemple |
32+
| Variable | Description | Défault | Exemple |
3333
| --- | --- | --- | --- |
34-
| `EMAIL_SERVER` | Serveur SMTP pour email | - | `smtp://user:pass@smtp.example.com:587` |
34+
| `EMAIL_SERVER` | Serveur SMTP pour les emails | - | `smtp://user:pass@smtp.example.com:587` |
3535
| `EMAIL_FROM` | Adresse de l'expéditeur de l'email | - | `noreply@example.com` |
3636

3737
### Authentification GitHub
3838

39-
| Variable | Description | Par défaut | Exemple |
39+
| Variable | Description | Défault | Exemple |
4040
| --- | --- | --- | --- |
41-
| `AUTH_GITHUB_ID` | ID client OAuth de GitHub | - | `your-github-client-id` |
42-
| `AUTH_GITHUB_SECRET` | Secret client OAuth de GitHub | - | `your-github-client-secret` |
41+
| `AUTH_GITHUB_ID` | ID client OAuth GitHub | - | `votre-id-client-github` |
42+
| `AUTH_GITHUB_SECRET` | Secret client OAuth GitHub | - | `votre-secret-client-github` |
4343

4444
### Authentification Google
4545

46-
| Variable | Description | Par défaut | Exemple |
46+
| Variable | Description | Défault | Exemple |
4747
| --- | --- | --- | --- |
48-
| `AUTH_GOOGLE_ID` | ID client OAuth de Google | - | `your-google-client-id` |
49-
| `AUTH_GOOGLE_SECRET` | Secret client OAuth de Google | - | `your-google-client-secret` |
48+
| `AUTH_GOOGLE_ID` | ID client OAuth Google | - | `votre-id-client-google` |
49+
| `AUTH_GOOGLE_SECRET` | Secret client OAuth Google | - | `votre-secret-client-google` |
5050

51-
### Authentification OAuth/OIDC personnalisée
51+
### Authentification personnalisée OAuth/OIDC
5252

53-
| Variable | Description | Par défaut | Exemple |
53+
| Variable | Description | Défault | Exemple |
5454
| --- | --- | --- | --- |
55-
| `AUTH_CUSTOM_ID` | ID client OAuth/OIDC personnalisé | - | `your-custom-client-id` |
56-
| `AUTH_CUSTOM_SECRET` | Secret client OAuth/OIDC personnalisé | - | `your-custom-client-secret` |
57-
| `AUTH_CUSTOM_NAME` | Nom du fournisseur personnalisé | `Custom` | `Enterprise SSO` |
55+
| `AUTH_CUSTOM_ID` | ID client OAuth/OIDC personnalisé | - | `votre-id-client-personnalisé` |
56+
| `AUTH_CUSTOM_SECRET` | Secret client OAuth/OIDC personnalisé | - | `votre-secret-client-personnalisé` |
57+
| `AUTH_CUSTOM_NAME` | Nom du fournisseur personnalisé | `Custom` | `SSO d'entreprise` |
5858
| `AUTH_CUSTOM_TYPE` | Type d'authentification | `oidc` | `oauth` |
59-
| `AUTH_CUSTOM_ISSUR` | URL émettrice OIDC | - | `https://auth.example.com` |
59+
| `AUTH_CUSTOM_ISSUR` | URL de l'émetteur OIDC | - | `https://auth.example.com` |
6060

61-
## Fonctions AI
61+
## Fonctionnalités AI
6262

63-
| Variable | Description | Par défaut | Exemple |
63+
| Variable | Description | Défault | Exemple |
6464
| --- | --- | --- | --- |
65-
| `OPENAI_API_KEY` | Clé API OpenAI | - | `your-openai-api-key` |
66-
| `OPENAI_BASE_URL` | URL personnalisée de l'API OpenAI | - | `https://api.openai.com/v1` |
65+
| `OPENAI_API_KEY` | Clé API OpenAI | - | `votre-clé-api-openai` |
66+
| `OPENAI_BASE_URL` | URL API OpenAI personnalisée | - | `https://api.openai.com/v1` |
6767
| `OPENAI_MODEL_NAME` | Modèle OpenAI à utiliser | `gpt-4o` | `gpt-3.5-turbo` |
6868
| `DEBUG_AI_FEATURE` | Déboguer les fonctionnalités AI | `false` | `true` |
6969

70-
## Configuration Sandbox
70+
## Configuration du Bac à Sable
7171

72-
| Variable | Description | Par défaut | Exemple |
72+
| Variable | Description | Défault | Exemple |
7373
| --- | --- | --- | --- |
74-
| `USE_VM2` | Utiliser VM2 pour l'exécution en sandbox | `false` | `true` |
75-
| `SANDBOX_MEMORY_LIMIT` | Limite de mémoire pour la sandbox (MB) | `16` | `32` |
74+
| `USE_VM2` | Utiliser VM2 pour l'exécution de bac à sable | `false` | `true` |
75+
| `SANDBOX_MEMORY_LIMIT` | Limite de mémoire pour le bac à sable (MB) | `16` | `32` |
7676
| `PUPPETEER_EXECUTABLE_PATH` | Chemin personnalisé vers l'exécutable Puppeteer | - | `/usr/bin/chromium` |
7777

78-
## Intégration de cartes
78+
## Intégration de Cartes
7979

80-
| Variable | Description | Par défaut | Exemple |
80+
| Variable | Description | Défault | Exemple |
8181
| --- | --- | --- | --- |
82-
| `AMAP_TOKEN` | Jeton API AMap (Gaode) | - | `your-amap-token` |
83-
| `MAPBOX_TOKEN` | Jeton API Mapbox | - | `your-mapbox-token` |
82+
| `AMAP_TOKEN` | Jeton API AMap (Gaode) | - | `votre-token-amap` |
83+
| `MAPBOX_TOKEN` | Jeton API Mapbox | - | `votre-token-mapbox` |
8484

8585
## Télémétrie
8686

87-
| Variable | Description | Par défaut | Exemple |
87+
| Variable | Description | Défault | Exemple |
8888
| --- | --- | --- | --- |
8989
| `DISABLE_ANONYMOUS_TELEMETRY` | Désactiver la télémétrie anonyme | `false` | `true` |
9090
| `CUSTOM_TRACKER_SCRIPT_NAME` | Nom du script de suivi personnalisé | - | `custom-tracker.js` |
9191

92-
## Définir les variables d'environnement
92+
## Définir les Variables d'Environnement
9393

9494
Vous pouvez définir ces variables d'environnement de différentes manières :
9595

96-
1. Les définir directement dans votre environnement de déploiement (Docker, Kubernetes, etc.)
96+
1. Définissez-les directement dans votre environnement de déploiement (Docker, Kubernetes, etc.)
9797

98-
2. Pour les déploiements Docker, vous pouvez utiliser des variables d'environnement dans votre docker-compose.yml :
98+
2. Pour les déploiements Docker, vous pouvez utiliser les variables d'environnement dans votre docker-compose.yml :
9999

100100
```yaml
101101
services:
@@ -106,6 +106,6 @@ services:
106106
- ALLOW_REGISTER=true
107107
```
108108
109-
## Valeurs booléennes
109+
## Valeurs Booléennes
110110
111-
Pour les variables booléennes, vous pouvez utiliser soit `"1"` soit `"true"` pour activer la fonctionnalité, et soit omettre la variable soit la définir sur toute autre valeur pour la désactiver.
111+
Pour les variables d'environnement booléennes, vous pouvez utiliser soit `"1"` soit `"true"` pour activer la fonctionnalité, et soit omettre la variable soit la définir sur toute autre valeur pour la désactiver.

0 commit comments

Comments
 (0)