Héberger l'API soi-même
Avertissement
Vous devrez potentiellement modifier votre pare-feu et/ou la configuration de votre routeur Internet pour permettre d’accéder à Stend depuis l'extérieur.
Installation classique
Prérequis
- Une version récente de Node.js et de npm (fournis avec Node.js)
- Stend a été principalement testé avec Node.js v20
- Vous pouvez vérifier la version installée avec la commande
node --version
- Git CLI (optionnel, facilite l’installation et les mises à jour)
- Une machine avec l'un des trois principaux systèmes d'exploitations
- Les droits d'administrateur sont requis sous Windows
- Un stockage persistant est requis (les fichiers ne doivent pas disparaitre au redémarrage)
- Un stockage et un débit internet rapide est recommandé
Télécharger le code source
Avec Git
Sans Git
Depuis un navigateur, allez sur le dépôt GitHub de Stend et cliquez sur le bouton vert "Code" puis sur "Download ZIP".
Vous pourrez ensuite extraire les fichiers dans un dossier de votre choix. Ouvrez un terminal dedans.
Installer les dépendances
Ouvrez un terminal dans le dossier de Stend (naviguez avec cd stend-api
) puis installer les dépendances avec la commande suivante :
Configurer Stend
Vous pouvez maintenant modifier les valeurs de votre fichier .env
pour configurer certains éléments de Stend. Pas d'inquiétude, des commentaires seront inclus dans le fichier pour vous aider.
Démarrer Stend
Avertissement
Pour que Stend reste actif en arrière-plan, même si vous fermez la session de terminal, vous pouvez installer et utiliser PM2 : npm install pm2 -g
et pm2 start index.js --name stend-api
Vérifier l'instance
Pour vous assurer que l'API est en cours d'exécution, vous pouvez ouvrir un navigateur et vous rendre sur http://<local ip>:3000/instance
. Si l'API tourne sur le même ordinateur, vous pouvez directement ouvrir http://localhost:3000/instance
.
Installation sur Dokploy
Il est possible de configurer rapidement une instance sur Dokploy en liant le Dockerfile disponible sur GitHub.
Créez un service
Depuis votre dashboard, dans un projet, créez un nouveau service "Application" et donnez lui le nom que vous souhaitez.
Configurer le service
Définissez le provider sur Git :
- Repository URL:
https://github.com/hoststend/stend-api.git
- Branch:
main
- Build Path:
/
- Watch Paths: (empty)
Définissez également "Build Type" sur "Dockerfile" et utiliser "Dockerfile" comme fichier source.
Préserver les fichiers
Par défaut, les fichiers ainsi que la base de données seront effacés à chaque redémarrage. Pour corriger cela, rendez-vous dans les réglages avancés de votre service et ajoutez un nouveau volume :
- Mount Type: Volume Mount
- Volume Name:
stend_storage
- Mount Path:
/usr/src/app/storage
Configurer les réglages
Des réglages par défaut sont appliqués pour faciliter un déploiement rapide, vous pouvez cependant utiliser les réglages d'environnement pour définir vos propres modifications. La liste des variables est disponible ici.
Avertissement
Il est recommandé de ne pas modifier le chemin utilisé pour le stockage des fichiers (STORAGE_PATH
) sans revérifier la configuration des volumes.
Finalisation
- Lors de l'ajout d'un domaine, le port à utiliser est
3000
si vous n'avez pas apporté de modifications à la variable d'environnementPORT
. - Pensez à faire un nouveau déploiement après avoir modifié les réglages liés aux volumes, à l'environnement ou aux domaines.
- Pour accéder à l'interface d'administration, depuis General, cliquez sur "Open Terminal" et exécutez
npm run admin
Installation via Docker Compose
Il est possible de configurer rapidement une instance via une image Docker publiée par Make In Lab (non affiliée avec Stend). Il est recommandé d’écrire un unique docker-compose.yml
contenant le Client WEB et l’API pour profiter de meilleures performances, cet exemple ne contiendra que les instructions pour l’API.
Écrire le docker-compose.yml
Vous aurez maintenant besoin de créez un fichier docker-compose.yml
dans le dossier actuel. Vous pouvez copier cet exemple de configuration en modifiant les variables d'environnement que vous pensez être importantes.
Démarrer le conteneur à l'avant-plan
Cette étape permet de démarrer l'API de Stend dans votre terminal, sans détacher le processus, cela vous permettra de repérer immédiatement les erreurs que vous auriez pu glisser quelque part. Si vous êtes sûr que votre configuration fonctionne, vous pouvez ignorer cette étape et passer à la suivante.
Démarrer le conteneur en arrière-plan
Une fois sûr que tout fonctionne, arrêter le service avec CTRL+C, et exécuter cette commande pour démarrer l'API en tâche de fond. Vous pourrez alors fermer votre terminal.
Vérifier l'instance
Pour vous assurer que l'API est en cours d'exécution, vous pouvez ouvrir un navigateur et vous rendre sur http://<local ip>:3000/instance
. Si l'API tourne sur le même ordinateur, vous pouvez directement ouvrir http://localhost:3000/instance
.