115 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# ObsiViewer - Docker Compose
 | 
						|
 | 
						|
Cette configuration Docker Compose permet de déployer ObsiViewer avec Meilisearch dans des conteneurs isolés.
 | 
						|
 | 
						|
## Prérequis
 | 
						|
 | 
						|
- Docker Engine
 | 
						|
- Docker Compose
 | 
						|
- Une image Docker `obsi-viewer-angular:latest` construite localement ou disponible dans un registre
 | 
						|
 | 
						|
## Configuration
 | 
						|
 | 
						|
### 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)
 | 
						|
   - `/app/assets` : fichiers de configuration
 | 
						|
   - `/app/db` : base de données (optionnel)
 | 
						|
 | 
						|
## Utilisation
 | 
						|
 | 
						|
### 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
 | 
						|
```
 | 
						|
 | 
						|
### Reconstruction
 | 
						|
 | 
						|
```bash
 | 
						|
docker compose up -d --build
 | 
						|
```
 | 
						|
 | 
						|
## Accès aux services
 | 
						|
 | 
						|
- **Application** : http://localhost:8080 (ou http://votre-hostname:8080)
 | 
						|
- **API Health** : http://localhost:8080/api/health
 | 
						|
- **Meilisearch** : http://localhost:7700
 | 
						|
- **Meilisearch Health** : http://localhost:7700/health
 | 
						|
- **Voûte Obsidian** : montée depuis `DIR_OBSIVIEWER_VAULT`
 | 
						|
 | 
						|
## Structure des volumes
 | 
						|
 | 
						|
```
 | 
						|
./vault/                    # Répertoire de la voûte (optionnel)
 | 
						|
├── assets/                # Configuration et assets
 | 
						|
├── db/                    # Base de données SQLite (optionnel)
 | 
						|
└── [vos notes .md]        # Fichiers de la voûte Obsidian
 | 
						|
```
 | 
						|
 | 
						|
## Logs
 | 
						|
 | 
						|
```bash
 | 
						|
docker compose logs -f obsi-viewer
 | 
						|
```
 | 
						|
 | 
						|
## Dépannage
 | 
						|
 | 
						|
- Vérifiez les logs : `docker compose logs obsi-viewer`
 | 
						|
- Vérifiez l'état du conteneur : `docker compose ps`
 | 
						|
- Accédez au shell du conteneur : `docker compose exec obsi-viewer bash`
 |