Installation via NPM
Le serveur Sync-in peut être installé via NPM et géré à l’aide d’une interface en ligne de commande (CLI).
Il est conçu pour fonctionner dans des environnements basés sur Linux (Debian, Ubuntu, AlmaLinux, Rocky Linux, macOS, etc.).
⚠️ Les environnements Windows ne sont pas officiellement supportés.
📋 Prérequis
Avant d’installer Sync-in, assurez-vous que votre environnement dispose des éléments suivants :
🟢 Node.js
Version requise : 22 ou supérieure - Installer Node.js : nodejs.org/download
✅ Vérifier la version installée :
node -v
🛢️ MariaDB
Version requise : 11 ou supérieure - Installer MariaDB : mariadb.org/download
✅ Vérifier la version installée :
mariadb --version
Le binaire peut varier selon les systèmes : utilisez mysql
ou mariadb
selon le cas.
Assurez-vous que :
- Le service MariaDB est démarré
- Le port 3306 est ouvert si la base est distante
- Qu'une base de données a été créée manuellement avant le lancement du serveur
Exemple de création de base de données locale avec un utilisateur dédié
Connectez-vous à MariaDB en tant qu'administrateur (ou root) :
mariadb -u root -p
Puis exécutez les commandes suivantes :
CREATE DATABASE sync_in CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'sync_in_user'@'localhost' IDENTIFIED BY 'motdepassefort';
GRANT ALL PRIVILEGES ON sync_in.* TO 'sync_in_user'@'localhost';
FLUSH PRIVILEGES;
🚀 Installation
1. Package NPM
Vous pouvez installer le serveur Sync-in dans un dossier dédié à l’aide de l’option --prefix
de NPM.
npm install @sync-in/server --prefix ./sync-in
Cela installera le package server dans le dossier ./sync-in
, avec les fichiers suivants :
./sync-in/node_modules/
→ dépendances installées./sync-in/package.json
→ les métadonnées du package
2. Configuration
Le fichier de configuration du serveur environment.yaml doit être situé dans ce dossier.
Pour en déployer une version minimale directement dans l'environnement, vous pouvez utiliser le CLI sync-in-server
:
cd ./sync-in && npx sync-in-server init
ou via l'argument --prefix
:
npx --prefix ./sync-in sync-in-server init
Utilisez l’option --prefix
si vous exécutez des commandes CLI depuis un autre répertoire que sync-in
(répertoire utilisé ici à titre d’exemple).
Modifiez le fichier ./sync-in/environment.yaml
:
auth:
token:
access:
secret: "changeAccessWithStrongSecret"
refresh:
secret: "changeRefreshWithStrongSecret"
mysql:
# Utilisez l'utilisateur et le mot de passe que vous avez défini
url: mysql://root:MySQLRootPassword@mariadb:3306/sync_in
Utilisez des chaînes longues et générées aléatoirement pour vos secrets afin de garantir une sécurité maximale.
N’oubliez pas d’ajouter des guillemets si vos mots de passe contiennent des caractères spéciaux.
3. Base de données
Depuis le dossier sync-in
, une fois la configuration réalisée, initialisez la base de données :
npx sync-in-server migrate-db
Résultat attendu :
🗄️ Running database migrations...
Load configuration → environment.yaml
✅ Database migrations completed successfully.
4. Création d'un administrateur
npx sync-in-server create-user --role admin --role admin --login "userLogin" --password "userPassword"
Pour créer un utilisateur sans privilèges administrateur, supprimez l’option --role admin
.
Si vous ne définissez pas d'arguments et lancez simplement :
npx sync-in-server create-user
Le serveur utilisera les identifiants administrateur par défaut :
- Login :
sync-in
- Mot de passe :
sync-in
Important : Pour des raisons de sécurité, il est fortement recommandé de modifier ces identifiants dès votre première connexion.
5. Lancement du serveur
Vous pouvez démarrer le serveur de deux façons :
-
En mode attaché (le processus reste lié à votre terminal) :
npx sync-in-server start
-
En mode détaché (daemon) :
npx sync-in-server start -d
infoEn mode daemon, le processus n’est plus attaché à la console utilisateur.
Les logs sont automatiquement enregistrés dans le fichierlogs/server.log
.
L’emplacement du fichier de log peut être modifié via le fichier de configurationenvironment.yaml
.
🖥️ Commandes CLI du serveur
Commande | Description |
---|---|
npx sync-in-server init | Copie le fichier de configuration minimal environment.yaml |
npx sync-in-server start | Démarre le serveur en mode attaché |
npx sync-in-server start -d | Démarre le serveur en mode détaché (daemon) |
npx sync-in-server stop | Arrête le serveur |
npx sync-in-server status | Affiche le statut du serveur (mode daemon uniquement) |
npx sync-in-server version | Affiche la version installée |
npx sync-in-server migrate-db | Exécute les migrations de base de données |
npx sync-in-server update | Met à jour le serveur vers la dernière version disponible |
npx sync-in-server create-user | Créer un utilisateur ou un administrateur dans la base de données |
npx sync-in-server help | Affiche l’aide et la liste des commandes disponibles |
L’option --prefix
peut être ajoutée à chaque commande si vous exécutez npx sync-in-server
depuis un répertoire différent de celui où le serveur a
été installé.
npx sync-in-server update
exécute également les migrations de base de données automatiquement.