多维表格
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

459 lines
14 KiB

***
titre : 'Installation'
description: 'Installation simple - prend environ trois minutes !'
balises : \['Open Source']
mots-clés : \['Installation NocoDB', 'Installation du docker NocoDB', 'Installation NocoDB nodejs', 'Essayage rapide NocoDB', 'Prérequis NocoDB']
-------------------------------------------------------------------------------------------------------------------------------------------------
Installation simple – prend environ trois minutes !
## Conditions préalables
* [Docker](https://www.docker.com/get-started) or [Node.js](https://nodejs.org/en/download)( > v18.x )
## Essai rapide
### Docker
Si vous utilisez Docker, vous pouvez essayer de cette manière !
<Tabs>
<TabItem value="sqlite" label="SQLite">
```bash
docker run -d --name nocodb \
-v "$(pwd)"/nocodb:/usr/app/data/ \
-p 8080:8080 \
nocodb/nocodb:latest
```
</TabItem>
<TabItem value="mysql" label="MySQL">
```bash
docker run -d --name nocodb-mysql \
-v "$(pwd)"/nocodb:/usr/app/data/ \
-p 8080:8080 \
-e NC_DB="mysql2://host.docker.internal:3306?u=root&p=password&d=d1" \
-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
nocodb/nocodb:latest
```
</TabItem>
<TabItem value="postgres" label="Postgres">
```bash
docker run -d --name nocodb-postgres \
-v "$(pwd)"/nocodb:/usr/app/data/ \
-p 8080:8080 \
-e NC_DB="pg://host.docker.internal:5432?u=root&p=password&d=d1" \
-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
nocodb/nocodb:latest
```
</TabItem>
<TabItem value="sqlserver" label="SQL Server">
```bash
docker run -d --name nocodb-mssql \
-v "$(pwd)"/nocodb:/usr/app/data/ \
-p 8080:8080 \
-e NC_DB="mssql://host.docker.internal:1433?u=root&p=password&d=d1" \
-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
nocodb/nocodb:latest
```
</TabItem>
</Tabs>
:::tip
Pour persister les données dans Docker, vous pouvez monter un volume sur `/usr/app/data/` depuis la version 0.10.6. Dans les versions antérieures, montez-le sur `/usr/src/app`. Sinon, vos données seront perdues après la recréation du conteneur.
:::
:::conseil
Si vous envisagez d'utiliser des caractères spéciaux, vous devrez peut-être ajuster vous-même le jeu de caractères et le classement lors de la création de la base de données. Veuillez consulter les exemples pour [Docker MySQL](https://github.com/nocodb/nocodb/issues/1340#issuecomment-1049481043).
:::
### Docker Compose
We provide different docker-compose.yml files under [ce répertoire](https://github.com/nocodb/nocodb/tree/master/docker-compose). Voici quelques exemples.
<Tabs>
<TabItem value="mysql" label="MySQL">
```bash
git clone https://github.com/nocodb/nocodb
cd nocodb/docker-compose/mysql
docker-compose up -d
```
</TabItem>
<TabItem value="postgres" label="Postgres">
```bash
git clone https://github.com/nocodb/nocodb
cd nocodb/docker-compose/pg
docker-compose up -d
```
</TabItem>
<TabItem value="sqlserver" label="SQL Server">
```bash
git clone https://github.com/nocodb/nocodb
cd nocodb/docker-compose/mssql
docker-compose up -d
```
</TabItem>
</Tabs>
:::tip
To persist data in docker you can mount volume at `/usr/app/data/`depuis la 0.10.6. Dans l'ancienne version, montez sur`/usr/src/app`.
Si vous envisagez de saisir des caractères spéciaux, vous devrez peut-être modifier vous-même le jeu de caractères et le classement lors de la création de la base de données. Veuillez consulter les exemples pour[MySQL Docker Composer](https://github.com/nocodb/nocodb/issues/1313#issuecomment-1046625974).
:::
### NPX
Vous pouvez exécuter la commande ci-dessous si vous avez besoin d'une configuration interactive.
```bash
npx create-nocodb-app
```
#### Aperçu:
<img width="587" alt="image" src="https://user-images.githubusercontent.com/35857179/161526235-5ee0d592-0105-4a57-aa53-b1048dca6aad.png" />
### Homebrew
```bash
brew tap nocodb/nocodb
brew install nocodb
nocodb
```
### Exécutables
Vous pouvez télécharger des exécutables directement et les exécuter sans aucune dépendance supplémentaire. Utilisez la bonne commande en fonction de votre plateforme.
<Tabs>
<TabItem value="MacOS (x64)" label="MacOS (x64)">
```bash
curl http://get.nocodb.com/macos-x64 -o nocodb -L \
&& chmod +x nocodb \
&& ./nocodb
```
</TabItem>
<TabItem value="MacOS (arm64)" label="MacOS (arm64)">
```bash
curl http://get.nocodb.com/macos-arm64 -o nocodb -L \
&& chmod +x nocodb \
&& ./nocodb
```
</TabItem>
<TabItem value="Linux (x64)" label="Linux (x64)">
```bash
curl http://get.nocodb.com/linux-x64 -o nocodb -L \
&& chmod +x nocodb \
&& ./nocodb
```
</TabItem>
<TabItem value="Linux (arm64)" label="Linux (arm64)">
```bash
curl http://get.nocodb.com/linux-arm64 -o nocodb -L \
&& chmod +x nocodb \
&& ./nocodb
```
</TabItem>
<TabItem value="Windows (x64)" label="Windows (x64)">
```bash
iwr http://get.nocodb.com/win-x64.exe -OutFile "Noco-win-x64.exe"
.\Noco-win-x64.exe
```
</TabItem>
<TabItem value="Windows (arm64)" label="Windows (arm64)">
```bash
iwr http://get.nocodb.com/win-arm64.exe -OutFile "Noco-win-arm64.exe"
.\Noco-win-arm64.exe
```
</TabItem>
</Tabs>
### Application de nœud
Nous fournissons une application NodeJS simple pour commencer.
```bash
git clone https://github.com/nocodb/nocodb-seed
cd nocodb-seed
npm install
npm start
```
### AWS ECS (Fargate)
<details>
<summary>Click to Expand</summary>
#### Créer un cluster ECS
```
aws ecs create-cluster \
--cluster-name <YOUR_ECS_CLUSTER>
```
#### Créer un groupe de journaux
```
aws logs create-log-group \
--log-group-name /ecs/<YOUR_APP_NAME>/<YOUR_CONTAINER_NAME>
```
#### Créer une définition de tâche ECS
Chaque fois que vous le créez, une nouvelle version sera ajoutée. Si elle n'existe pas, la version sera 1.
```bash
aws ecs register-task-definition \
--cli-input-json "file://./<YOUR_TASK_DEF_NAME>.json"
```
:::conseil
Ce fichier JSON définit la spécification du conteneur. Vous pouvez y définir des secrets tels que NC_DB et des variables d'environnement.
:::
Voici l'exemple de définition de tâche
```json
{
"family": "nocodb-sample-task-def",
"networkMode": "awsvpc",
"containerDefinitions": [{
"name": "<YOUR_CONTAINER_NAME>",
"image": "nocodb/nocodb:latest",
"essential": true,
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-group": "/ecs/<YOUR_APP_NAME>/<YOUR_CONTAINER_NAME>",
"awslogs-region": "<YOUR_AWS_REGION>",
"awslogs-stream-prefix": "ecs"
}
},
"secrets": [{
"name": "<YOUR_SECRETS_NAME>",
"valueFrom": "<YOUR_SECRET_ARN>"
}],
"environment": [{
"name": "<YOUR_ENV_VARIABLE_NAME>",
"value": "<YOUR_ENV_VARIABLE_VALUE>"
}],
"portMappings": [{
"containerPort": 8080,
"hostPort": 8080,
"protocol": "tcp"
}]
}],
"requiresCompatibilities": [
"FARGATE"
],
"cpu": "256",
"memory": "512",
"executionRoleArn": "<YOUR_ECS_EXECUTION_ROLE_ARN>",
"taskRoleArn": "<YOUR_ECS_TASK_ROLE_ARN>"
}
```
#### Créer un service ECS
```bash
aws ecs create-service \
--cluster <YOUR_ECS_CLUSTER> \
--service-name <YOUR_SERVICE_NAME> \
--task-definition <YOUR_TASK_DEF>:<YOUR_TASK_DEF_VERSION> \
--desired-count <DESIRED_COUNT> \
--launch-type "FARGATE" \
--platform-version <VERSION> \
--health-check-grace-period-seconds <GRACE_PERIOD_IN_SECOND> \
--network-configuration "awsvpcConfiguration={subnets=["<YOUR_SUBSETS>"], securityGroups=["<YOUR_SECURITY_GROUPS>"], assignPublicIp=ENABLED}" \
--load-balancer targetGroupArn=<TARGET_GROUP_ARN>,containerName=<CONTAINER_NAME>,containerPort=<YOUR_CONTAINER_PORT>
```
:::conseil
Si votre service ne démarre pas, vous pouvez vérifier les journaux dans la console ECS ou dans Cloudwatch. Généralement, cela échoue en raison de la connexion entre le conteneur ECS et NC_DB. Assurez-vous que les groupes de sécurité ont les règles entrantes et sortantes correctes.
:::
</details>
### GCP (Cloud Run)
<details>
<summary>Click to Expand</summary>
#### Extraire l'image NocoDB sur Cloud Shell
Étant donné que Cloud Run ne prend en charge que les images de Google Container Registry (GCR) ou d'Artifact Registry, nous devons extraire l'image NocoDB, la marquer et la transférer dans GCP à l'aide de Cloud Shell. Voici quelques exemples de commandes que vous pouvez exécuter dans Cloud Shell.
```bash
# pull latest NocoDB image
docker pull nocodb/nocodb:latest
# tag the image
docker tag nocodb/nocodb:latest gcr.io/<MY_PROJECT_ID>/nocodb/nocodb:latest
# push the image to GCR
docker push gcr.io/<MY_PROJECT_ID>/nocodb/nocodb:latest
```
#### Déployer NocoDB sur Cloud Run
```bash
gcloud run deploy --image=gcr.io/<MY_PROJECT_ID>/nocodb/nocodb:latest \
--region=us-central1 \
--allow-unauthenticated \
--platform=managed
```
</details>
### Océan numérique (application)
<details>
<summary>Click to Expand</summary>
#### Créer des applications
Sur la page d'accueil, cliquez sur l'icône Créer et sélectionnez des applications (déployez votre code).
![Screenshot 2022-02-19 at 12 17 43 PM](https://user-images.githubusercontent.com/86527202/154790558-f8fe5580-5a58-412c-9c2e-145587712bf2.png)
#### Choose Source: Docker Hub
![Screenshot 2022-02-19 at 12 22 01 PM](https://user-images.githubusercontent.com/86527202/154790563-b5b6d5b4-0bdc-4718-8cea-0a7ee52f283b.png)
#### Choisissez la source : référentiel
Configurer le référentiel source comme`nocodb/nocodb`. Vous pouvez éventuellement choisir une balise de version si vous êtes intéressé par une version spécifique de NocoDB.
![Screenshot 2022-02-19 at 12 23 11 PM](https://user-images.githubusercontent.com/86527202/154790564-1dcb5e33-3a57-471a-a44c-835a410a0cb7.png)
#### \[Facultatif] Configurations supplémentaires
![Screenshot 2022-02-19 at 12 24 44 PM](https://user-images.githubusercontent.com/86527202/154790565-c0234b2e-ad50-4042-90b6-4f8798f1d585.png)
#### Nommez votre service Web
Choisissez un nom pour votre application NocoDB. Ce nom fera ultérieurement partie de l'URL
Choisissez la région la plus proche pour l'hébergement cloud![Screenshot 2022-02-19 at 12 28 11 PM](https://user-images.githubusercontent.com/86527202/154790567-a6e65e4e-9aa0-4edb-998e-da8803ad6e23.png)
#### Finaliser et lancer
* Sélectionnez le plan d'hébergement pour votre application NocoDB
* Cliquez sur "Lancer l'application"
![Screenshot 2022-02-19 at 12 29 23 PM](https://user-images.githubusercontent.com/86527202/154790570-62044713-5cca-4d06-82ec-f3cc257218a1.png)
L'application sera créée et l'URL sera disponible dans une minute ! L'URL ressemblera à quelque chose comme https://simply-nocodb-rsyir.ondigitalocean.app/
</details>
### Cloudron
<details>
<summary>Click to Expand</summary>
#### Accédez à l'App Store
Connectez-vous à Cloudron et sélectionnez App Store
![image](https://user-images.githubusercontent.com/35857179/194700146-aae90503-a8fd-4bc5-8397-39f0bc279606.png)
#### Rechercher NocoDB
![image](https://user-images.githubusercontent.com/35857179/194700181-b5303919-70b8-4cf8-bebe-7e75aca601f3.png)
#### Cliquez sur Installer
![image](https://user-images.githubusercontent.com/35857179/194700192-d702f5c2-2afa-45c5-9823-4ebe9e141b01.png)
#### Configurer NocoDB
![image](https://user-images.githubusercontent.com/35857179/194700230-c35e934f-bd93-4948-8f31-935483b30571.png)
#### Accédez à Mon application et lancez NocoDB
![image](https://user-images.githubusercontent.com/35857179/194700464-50098cb1-bf94-42bb-a63a-cc0aad671913.png)
</details>
### CapRover
<details>
<summary>Click to Expand</summary>
#### Connectez-vous et cliquez sur Applications/bases de données en un seul clic
![image](https://user-images.githubusercontent.com/35857179/194701420-7fe5c396-a488-456c-98de-6f2ee1151fc5.png)
#### Rechercher NocoDB
![image](https://user-images.githubusercontent.com/35857179/194701537-63e7efc5-013b-4ca9-8659-56e9d536e7d0.png)
#### Configurer NocoDB et déployer
![image](https://user-images.githubusercontent.com/35857179/194701576-19519df5-2aa4-435d-8fc6-7bc684b9cfe1.png)
</details>
### Chemin de fer
<details>
<summary>Click to Expand</summary>
#### Accédez aux modèles
Aller à[Modèles](https://railway.app/templates), Recherchez NocoDB et cliquez sur Déployer
![image](https://user-images.githubusercontent.com/35857179/194702833-1bea22ee-6dfa-4024-ac27-e33fe56e5500.png)
#### Configurer NocoDB et déployer
![image](https://user-images.githubusercontent.com/35857179/194702960-149393fe-b00f-4d84-9e54-22cb7616ba44.png)
</details>
### Prison de Fribussed / Freenas / Truens
Voir[ici](https://gist.github.com/Zamana/e9281d736f9e9ce5882c6f4b140a590e)fourni par[C.R. Zamana](https://github.com/Zamana).
## Exemples de démos
### Codesandbox
<iframe width="100%" height="500" src="https://codesandbox.io/embed/vigorous-firefly-80kq5?hidenavigation=1&theme=dark" title="Code Sandbox" frameBorder="0" allow="clipboard-write"></iframe>
### Déploiement de Docker avec une seule commande
<iframe width="100%" height="500" src="https://www.youtube.com/embed/K-UEecQyiOk" title="YouTube video player" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowFullScreen></iframe>
### Utiliser NPX
<iframe width="100%" height="500" src="https://www.youtube.com/embed/v6Nn75P1p7I" title="YouTube video player" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowFullScreen></iframe>