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`