feat: add Meilisearch backend integration with Docker Compose setup and Excalidraw support
This commit is contained in:
@@ -5,3 +5,5 @@ DIR_OBSIVIEWER_VAULT=/NFS/OBSIDIAN_DOC/Obsidian_MAIN
|
||||
PORT=4000
|
||||
NODE_ENV=production
|
||||
TZ=America/Montreal
|
||||
MEILI_MASTER_KEY=devMeiliKey123
|
||||
MEILI_ENV=development
|
||||
+54
-11
@@ -1,6 +1,6 @@
|
||||
# ObsiViewer - Docker Compose
|
||||
|
||||
Cette configuration Docker Compose permet de déployer ObsiViewer dans un conteneur isolé.
|
||||
Cette configuration Docker Compose permet de déployer ObsiViewer avec Meilisearch dans des conteneurs isolés.
|
||||
|
||||
## Prérequis
|
||||
|
||||
@@ -10,12 +10,33 @@ Cette configuration Docker Compose permet de déployer ObsiViewer dans un conten
|
||||
|
||||
## Configuration
|
||||
|
||||
1. **Variables d'environnement** :
|
||||
- Copiez `docker-compose/.env.example` vers `docker-compose/.env`
|
||||
- Ajustez les valeurs selon vos besoins :
|
||||
- `NGINX_HOSTNAME` : nom d'hôte du conteneur
|
||||
- `TZ` : fuseau horaire
|
||||
- `DIR_OBSIVIEWER` : répertoire local pour les données (optionnel)
|
||||
### Variables d'environnement
|
||||
|
||||
Le fichier `docker-compose/.env` contient toutes les variables nécessaires:
|
||||
|
||||
```env
|
||||
# Configuration réseau
|
||||
NGINX_HOSTNAME=votre-hostname
|
||||
NGINX_SERVER_IP=172.26.11.25
|
||||
|
||||
# Chemins des volumes
|
||||
DIR_OBSIVIEWER=/DOCKER_CONFIG/obsiviewer
|
||||
DIR_OBSIVIEWER_VAULT=/chemin/vers/votre/vault
|
||||
|
||||
# Configuration serveur
|
||||
PORT=4000
|
||||
NODE_ENV=production
|
||||
TZ=America/Montreal
|
||||
|
||||
# Configuration Meilisearch
|
||||
MEILI_MASTER_KEY=devMeiliKey123
|
||||
MEILI_ENV=development
|
||||
```
|
||||
|
||||
**Variables importantes:**
|
||||
- `DIR_OBSIVIEWER_VAULT`: Chemin ABSOLU vers votre vault Obsidian sur l'hôte
|
||||
- `MEILI_MASTER_KEY`: Clé d'authentification Meilisearch (changez en production!)
|
||||
- `PORT`: Port d'écoute du serveur backend
|
||||
|
||||
2. **Volumes** :
|
||||
- `/app/vault` : répertoire de la voûte Obsidian (monté depuis l'hôte)
|
||||
@@ -24,16 +45,36 @@ Cette configuration Docker Compose permet de déployer ObsiViewer dans un conten
|
||||
|
||||
## Utilisation
|
||||
|
||||
### Démarrage
|
||||
### Démarrage complet
|
||||
|
||||
```bash
|
||||
# 1. Configurer les variables
|
||||
cd docker-compose
|
||||
cp .env.example .env
|
||||
# Éditer .env et définir DIR_OBSIVIEWER_VAULT
|
||||
|
||||
# 2. Lancer tous les services (app + Meilisearch)
|
||||
docker compose up -d
|
||||
|
||||
# 3. Indexer le vault dans Meilisearch
|
||||
# Depuis la racine du projet:
|
||||
cd ..
|
||||
npm run meili:reindex
|
||||
```
|
||||
|
||||
### Démarrage Meilisearch seul
|
||||
|
||||
```bash
|
||||
# Depuis la racine du projet
|
||||
npm run meili:up # Lance Meilisearch
|
||||
npm run meili:reindex # Indexe le vault
|
||||
npm run meili:down # Arrête Meilisearch
|
||||
```
|
||||
|
||||
### Arrêt
|
||||
|
||||
```bash
|
||||
cd docker-compose
|
||||
docker compose down
|
||||
```
|
||||
|
||||
@@ -43,11 +84,13 @@ docker compose down
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
## Accès à l'application
|
||||
## Accès aux services
|
||||
|
||||
- **URL** : http://localhost:8080 (ou http://votre-hostname:8080)
|
||||
- **Application** : http://localhost:8080 (ou http://votre-hostname:8080)
|
||||
- **API Health** : http://localhost:8080/api/health
|
||||
- **Voûte Obsidian** : montée depuis `./vault` (ou le répertoire spécifié dans DIR_OBSIVIEWER)
|
||||
- **Meilisearch** : http://localhost:7700
|
||||
- **Meilisearch Health** : http://localhost:7700/health
|
||||
- **Voûte Obsidian** : montée depuis `DIR_OBSIVIEWER_VAULT`
|
||||
|
||||
## Structure des volumes
|
||||
|
||||
|
||||
@@ -9,6 +9,8 @@ services:
|
||||
- PORT=4000
|
||||
- NODE_ENV=production
|
||||
- TZ=${TZ:-America/Montreal}
|
||||
- MEILI_HOST=http://meilisearch:7700
|
||||
- MEILI_API_KEY=${MEILI_MASTER_KEY}
|
||||
volumes:
|
||||
# Montage du répertoire de la voûte Obsidian (optionnel)
|
||||
- ${DIR_OBSIVIEWER_VAULT:-./vault}:/app/vault
|
||||
@@ -23,3 +25,25 @@ services:
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
start_period: 10s
|
||||
depends_on:
|
||||
- meilisearch
|
||||
|
||||
meilisearch:
|
||||
image: getmeili/meilisearch:v1.11
|
||||
container_name: obsiviewer-meilisearch
|
||||
environment:
|
||||
MEILI_MASTER_KEY: ${MEILI_MASTER_KEY}
|
||||
MEILI_ENV: ${MEILI_ENV:-development}
|
||||
volumes:
|
||||
- meili_data:/meili_data
|
||||
ports:
|
||||
- "7700:7700"
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:7700/health"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
volumes:
|
||||
meili_data:
|
||||
|
||||
Reference in New Issue
Block a user