9acc5c192f
Created by Github action <!-- This is an auto-generated description by cubic. --> <a href="https://cubic.dev/pr/twentyhq/twenty/pull/23452?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img alt="Review in cubic" src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a> <!-- End of auto-generated description by cubic. --> Co-authored-by: github-actions <github-actions@twenty.com>
251 lines
11 KiB
Plaintext
251 lines
11 KiB
Plaintext
---
|
|
title: Résolution des problèmes
|
|
icon: wrench
|
|
---
|
|
|
|
## Résolution des problèmes
|
|
|
|
Si vous rencontrez un problème lors de la configuration de l'environnement pour le développement, la mise à niveau de votre instance ou l'auto-hébergement, voici quelques solutions pour les problèmes courants.
|
|
|
|
### Auto-hébergement
|
|
|
|
#### La première installation entraîne l'erreur `l'authentification du mot de passe a échoué pour l'utilisateur "postgres"`
|
|
|
|
🚨 **IMPORTANT : Cette solution est UNIQUEMENT pour les nouvelles installations** 🚨
|
|
Si vous avez une instance Twenty existante avec des données de production, **NE SUIVEZ PAS** ces étapes, car elles supprimeront définitivement votre base de données !
|
|
|
|
Lors de l'installation de Twenty pour la première fois, vous pouvez vouloir changer le mot de passe par défaut de la base de données.
|
|
Le mot de passe que vous définissez lors de la première installation est stocké de façon permanente dans le volume de la base de données. Si vous essayez ensuite de changer ce mot de passe dans votre configuration sans supprimer l'ancien volume, vous obtiendrez des erreurs d'authentification car la base de données utilise toujours le mot de passe original.
|
|
|
|
⚠️ AVERTISSEMENT : Les étapes suivantes SUPPRIMERONT DÉFINITIVEMENT toutes les données de la base de données ! ⚠️
|
|
N'avancez que s'il s'agit d'une nouvelle installation sans données importantes.
|
|
|
|
Pour mettre à jour le `PG_DATABASE_PASSWORD`, vous devez :
|
|
|
|
```sh
|
|
# Update the PG_DATABASE_PASSWORD in .env
|
|
docker compose down --volumes
|
|
docker compose up -d
|
|
```
|
|
|
|
#### Retours à la ligne CR trouvés [Windows]
|
|
|
|
Cela se produit en raison des caractères de fin de ligne Windows combinés à votre configuration Git. Essayez de lancer :
|
|
|
|
```
|
|
git config --global core.autocrlf false
|
|
```
|
|
|
|
Ensuite, supprimez le dépôt et clonez-le de nouveau.
|
|
|
|
#### Schéma de métadonnées manquant
|
|
|
|
Pendant l'installation de Twenty, vous devez approvisionner votre base de données postgres avec les bons schémas, extensions et utilisateurs.
|
|
Si vous réussissez cet approvisionnement, vous devriez avoir des schémas `default` et `metadata` dans votre base de données.
|
|
Si vous ne le faites pas, assurez-vous que vous n'avez pas plus d'une instance PostgreSQL fonctionnant sur votre ordinateur.
|
|
|
|
#### Impossible de trouver le module 'twenty-emails' ou les déclarations de type correspondantes.
|
|
|
|
Vous devez construire le paquet `vingt-emails` (`npx nx exécuter vingt-emails:build`) avant d'exécuter l'initialisation de la base de données.
|
|
|
|
#### Package twenty-x manquant
|
|
|
|
Assurez-vous d'exécuter yarn dans le répertoire racine, puis d'exécuter `npx nx server:dev twenty-server`. Si cela ne fonctionne toujours pas, essayez de construire le package manquant manuellement.
|
|
|
|
#### Lint à l'enregistrement ne fonctionne pas
|
|
|
|
Cela devrait fonctionner directement avec l'extension Oxc (`oxc.oxc-vscode`) installée. Si cela ne fonctionne pas, essayez d'ajouter ceci à vos paramètres de code VS (portée du conteneur de développement):
|
|
|
|
```
|
|
"editor.codeActionsOnSave": {
|
|
|
|
"source.fixAll.oxc": "explicit"
|
|
|
|
}
|
|
```
|
|
|
|
#### Lors de l'exécution de `npx nx start` ou `npx nx start twenty-front`, une erreur de mémoire est levée
|
|
|
|
Lancez uniquement les services dont vous avez besoin, au lieu de `npx nx start`. Par exemple, si vous travaillez sur le serveur, lancez seulement `npx nx worker twenty-server`
|
|
|
|
**Si cela ne fonctionne pas :**
|
|
Si vous avez essayé de lancer uniquement `npx nx run twenty-server:start` sur WSL et que cela échoue avec l'erreur de mémoire ci-dessous :
|
|
|
|
`ERREUR FATALE : Les compactages inefficaces près de la limite du tas Allocation échouée - tas JavaScript sans mémoire`
|
|
|
|
Une solution de contournement est d'exécuter la commande suivante dans votre terminal, ou de l'ajouter à votre profil `.bashrc` afin qu'il soit appliqué automatiquement:
|
|
|
|
`export NODE_OPTIONS="--max-old-space-size=8192"`
|
|
|
|
L'option --max-old-space-size=8192 fixe une limite supérieure de 8 Go pour le tas Node.js ; l'utilisation s'adapte à la demande de l'application.
|
|
Référence : https://stackoverflow.com/questions/56982005/where-do-i-set-node-options-max-old-space-size-2048
|
|
|
|
**Si cela ne fonctionne pas :**
|
|
Examinez quels processus prennent la plupart de la mémoire vive de votre machine. À Twenty, nous avons remarqué que certaines extensions VS Code prenaient beaucoup de RAM, donc nous les avons temporairement désactivées.
|
|
|
|
**Si cela ne fonctionne pas :**
|
|
Redémarrer votre machine aide à nettoyer les processus fantômes.
|
|
|
|
#### Pendant l'exécution de `npx nx start`, il y a des [0] et [1] étranges dans les journaux
|
|
|
|
C'est attendu car la commande `npx nx start` exécute plus de commandes en arrière-plan
|
|
|
|
#### Aucun e-mail n'est envoyé
|
|
|
|
La plupart du temps, c'est parce que le `worker` ne fonctionne pas en arrière-plan. Essayez de lancer
|
|
|
|
```
|
|
npx nx worker twenty-server
|
|
```
|
|
|
|
#### Impossible de connecter mon compte Microsoft 365 à 20
|
|
|
|
La plupart du temps, c'est parce que votre administrateur n'a pas activé la licence Microsoft 365 pour votre compte. Vérifiez [https://admin.microsoft.com/](https://admin.microsoft.com/Adminportal/Home).
|
|
|
|
Si vous avez un code d'erreur `AADSTS50020`, cela signifie probablement que vous utilisez un compte personnel Microsoft. Cela n'est pas encore pris en charge. Plus d'informations [ici](https://learn.microsoft.com/fr-fr/troubleshoot/entra/entra-id/app-integration/error-code-aadsts50020-user-account-identity-provider-does-not-exist)
|
|
|
|
#### En exécutant `yarn`, les avertissements apparaissent dans la console
|
|
|
|
Les avertissements informent du tirage de dépendances supplémentaires qui ne sont pas explicitement spécifiées dans `package.json`, donc tant qu'aucune erreur bloquante n'apparaît, tout devrait fonctionner comme prévu.
|
|
|
|
#### Lorsqu'un utilisateur accède à la page de connexion, une erreur à propos d'un utilisateur non autorisé essayant d'accéder à un espace de travail apparaît dans les journaux
|
|
|
|
Ceci est attendu car l'utilisateur n'est pas autorisé lors de sa déconnexion, car son identité n'a pas été vérifiée.
|
|
|
|
#### Comment vérifier si votre worker fonctionne ?
|
|
|
|
* Allez sur [webhook-test.com](https://webhook-test.com/) et copiez **Votre URL Webhook Unique**.
|
|
|
|
<div style={{textAlign: 'center'}}>
|
|
<img src="/images/docs/developers/self-hosting/webhook-test.jpg" alt="Test de Webhook" />
|
|
</div>
|
|
|
|
* Ouvrez votre application Twenty, naviguez jusqu'à `/settings`, et activez le bouton **Avancé** en bas à gauche de l'écran.
|
|
* Créez un nouveau webhook.
|
|
* Collez **Votre URL Webhook Unique** dans le champ **URL de l'Endpoint** de Twenty. Réglez les **Filtres** sur `Sociétés` et `Créé`.
|
|
|
|
<div style={{textAlign: 'center'}}>
|
|
<img src="/images/docs/developers/self-hosting/webhook-settings.jpg" alt="Paramètres du Webhook" />
|
|
</div>
|
|
|
|
* Accédez à `/objects/companies` et créez un nouvel enregistrement de société.
|
|
* Retournez sur [webhook-test.com](https://webhook-test.com/) et vérifiez si une nouvelle **requête POST** a été reçue.
|
|
|
|
<div style={{textAlign: 'center'}}>
|
|
<img src="/images/docs/developers/self-hosting/webhook-test-result.jpg" alt="Résultat du test du Webhook" />
|
|
</div>
|
|
|
|
* Si une **requête POST** est reçue, votre worker fonctionne avec succès. Sinon, vous devez résoudre les problèmes de votre worker.
|
|
|
|
#### Front-end échoue à démarrer et retourne l'erreur TS5042 : l'option 'project' ne peut pas être mélangée avec les fichiers source sur la ligne de commande
|
|
|
|
Commenter le plugin checker dans `packages/twenty-ui/vite-config.ts`, comme montré dans l'exemple ci-dessous:
|
|
|
|
```
|
|
plugins: [
|
|
react({ jsxImportSource: 'react' }),
|
|
tsconfigPaths(),
|
|
svgr(),
|
|
dts(dtsConfig),
|
|
// checker(checkersConfig),
|
|
wyw({
|
|
include: [
|
|
'**/OverflowingTextWithTooltip.tsx',
|
|
'**/Chip.tsx',
|
|
'**/Tag.tsx',
|
|
'**/Avatar.tsx',
|
|
'**/AvatarChip.tsx',
|
|
],
|
|
babelOptions: {
|
|
presets: ['@babel/preset-typescript', '@babel/preset-react'],
|
|
},
|
|
}),
|
|
],
|
|
```
|
|
|
|
#### Panneau d'administration inaccessible
|
|
|
|
Exécutez `UPDATE core."user" SET "canAccessFullAdminPanel" = TRUE WHERE email = 'you@yourdomain.com';` dans le conteneur de base de données pour obtenir l'accès au panneau d'administration.
|
|
|
|
#### Lors de l'exécution d'un workflow, l'exécution du workflow échoue avec "L'exécution des fonctions logiques est désactivée. Définissez LOGIC_FUNCTION_TYPE sur LOCAL ou LAMBDA pour les activer."
|
|
|
|
En production, les fonctions logiques sont désactivées par défaut. Définissez la variable d'environnement `LOGIC_FUNCTION_TYPE` sur `LOCAL` ou `LAMBDA` pour les activer. Cela peut être configuré via des variables d'environnement ou via les variables de base de données du panneau d'administration. Voir le [guide de configuration des fonctions logiques](/l/fr/developers/self-host/capabilities/setup#logic-functions-available-drivers) pour plus de détails.
|
|
|
|
#### Quand je tape un message dans le chat IA, il ne répond pas immédiatement et je dois actualiser la page pour voir la réponse
|
|
|
|
Cela signifie que votre proxy inversé manque la configuration des réponses API basées sur le stream. Voici un exemple de configuration Nginx :
|
|
|
|
```
|
|
location ~* ^/api/.*stream|\/graphql\/stream {
|
|
proxy_pass http://twenty_backend;
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Connection "";
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
proxy_buffering off;
|
|
proxy_request_buffering off;
|
|
proxy_cache off;
|
|
gzip off;
|
|
#chunked_transfer_encoding off;
|
|
add_header X-Accel-Buffering no always;
|
|
}
|
|
```
|
|
|
|
### Composer Docker en 1 clic
|
|
|
|
#### Impossible de se connecter
|
|
|
|
Si vous ne pouvez pas vous connecter après la configuration :
|
|
|
|
1. Exécutez les commandes suivantes :
|
|
```bash
|
|
docker exec -it twenty-server-1 yarn
|
|
docker exec -it twenty-server-1 npx nx database:reset --configuration=no-seed
|
|
```
|
|
2. Redémarrez les conteneurs Docker :
|
|
```bash
|
|
docker compose down
|
|
docker compose up -d
|
|
```
|
|
|
|
Notez que la commande `database:reset` effacera complètement votre base de données et la recréera de zéro.
|
|
|
|
#### Problèmes de connexion derrière un proxy inverse
|
|
|
|
Si vous exécutez Twenty derrière un proxy inverse et rencontrez des problèmes de connexion :
|
|
|
|
1. **Vérifiez SERVER_URL :**
|
|
|
|
Assurez-vous que `SERVER_URL` dans votre fichier `.env` correspond à l'URL d'accès externe, incluant `https` si SSL est activé.
|
|
|
|
2. **Vérifiez les paramètres du proxy inverse :**
|
|
|
|
* Confirmez que votre proxy inverse transfère correctement les requêtes au serveur Twenty.
|
|
* Assurez-vous que les en-têtes comme `X-Forwarded-For` et `X-Forwarded-Proto` sont correctement configurés.
|
|
|
|
3. **Redémarrez les services :**
|
|
|
|
Après avoir apporté des modifications, redémarrez à la fois le proxy inverse et les conteneurs Twenty.
|
|
|
|
#### Erreur lors du téléchargement d'une image - permission refusée
|
|
|
|
Changer la propriété du dossier de données sur l'hôte de root à un autre utilisateur et groupe résout ce problème.
|
|
|
|
## Obtenir de l'aide
|
|
|
|
Si vous rencontrez des problèmes non couverts par ce guide :
|
|
|
|
* Vérifiez les journaux :
|
|
|
|
Consultez les journaux de conteneur pour les messages d'erreur :
|
|
|
|
```bash
|
|
docker compose logs
|
|
```
|
|
|
|
* Support communautaire :
|
|
|
|
Contactez la [communauté Twenty](https://github.com/twentyhq/twenty/issues) ou les [canaux de support](https://discord.gg/cx5n4Jzs57) pour obtenir de l'aide.
|