first commit
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
NGINX_HOSTNAME=AsusVivobook
|
||||
NGINX_SERVER_IP=172.26.11.25
|
||||
DIR_OBSIVIEWER=/DOCKER_CONFIG/obsiviewer
|
||||
DIR_OBSIVIEWER_VAULT=/NFS/OBSIDIAN_DOC/Obsidian_MAIN
|
||||
PORT=4000
|
||||
NODE_ENV=production
|
||||
TZ=America/Montreal
|
||||
@@ -0,0 +1,16 @@
|
||||
# Fichier d'exemple pour les variables d'environnement - ObsiViewer
|
||||
# Copiez ce fichier en .env et ajustez les valeurs selon vos besoins
|
||||
|
||||
# Configuration du serveur
|
||||
NGINX_HOSTNAME=obsi-viewer
|
||||
|
||||
# Fuseau horaire
|
||||
TZ=America/Montreal
|
||||
|
||||
# Répertoire de base pour les volumes (optionnel)
|
||||
# DIR_OBSIVIEWER=/path/to/your/obsi-viewer/data
|
||||
|
||||
# Configuration réseau (optionnel)
|
||||
# Si vous voulez accéder à l'application depuis d'autres machines
|
||||
# remplacez 127.0.0.1 par 0.0.0.0
|
||||
# HOST=0.0.0.0
|
||||
@@ -0,0 +1,71 @@
|
||||
# ObsiViewer - Docker Compose
|
||||
|
||||
Cette configuration Docker Compose permet de déployer ObsiViewer dans un conteneur isolé.
|
||||
|
||||
## Prérequis
|
||||
|
||||
- Docker Engine
|
||||
- Docker Compose
|
||||
- Une image Docker `obsi-viewer-angular:latest` construite localement ou disponible dans un registre
|
||||
|
||||
## 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)
|
||||
|
||||
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
|
||||
|
||||
```bash
|
||||
cd docker-compose
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### Arrêt
|
||||
|
||||
```bash
|
||||
docker compose down
|
||||
```
|
||||
|
||||
### Reconstruction
|
||||
|
||||
```bash
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
## Accès à l'application
|
||||
|
||||
- **URL** : 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)
|
||||
|
||||
## 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`
|
||||
@@ -0,0 +1,25 @@
|
||||
services:
|
||||
obsi-viewer:
|
||||
image: docker-registry.dev.home:5000/obsiviewer-angular:latest
|
||||
container_name: obsiviewer-angular
|
||||
hostname: ${NGINX_HOSTNAME:-obsiviewer-angular}
|
||||
ports:
|
||||
- "4444:4000"
|
||||
environment:
|
||||
- PORT=4000
|
||||
- NODE_ENV=production
|
||||
- TZ=${TZ:-America/Montreal}
|
||||
volumes:
|
||||
# Montage du répertoire de la voûte Obsidian (optionnel)
|
||||
- ${DIR_OBSIVIEWER_VAULT:-./vault}:/app/vault
|
||||
# Montage des assets pour la configuration
|
||||
- ${DIR_OBSIVIEWER:-./vault}/assets:/app/assets
|
||||
# Montage optionnel pour la base de données
|
||||
- ${DIR_OBSIVIEWER:-./vault}/db:/app/db
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-fsS", "http://localhost:4000/api/health"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
start_period: 10s
|
||||
@@ -0,0 +1,21 @@
|
||||
version: "3.9"
|
||||
services:
|
||||
newtube:
|
||||
build: .
|
||||
image: newtube:latest
|
||||
container_name: newtube
|
||||
ports:
|
||||
- "4000:4000"
|
||||
environment:
|
||||
NODE_ENV: production
|
||||
# Optional: configure API server
|
||||
PORT: 4000
|
||||
# Optional: secrets for Twitch etc. (if you prefer server env)
|
||||
# TWITCH_CLIENT_ID: ""
|
||||
# TWITCH_CLIENT_SECRET: ""
|
||||
# YOUTUBE_API_KEY: ""
|
||||
volumes:
|
||||
# Persist the SQLite database and download temp dir outside the image
|
||||
- ./db:/app/db
|
||||
- ./tmp/downloads:/app/tmp/downloads
|
||||
restart: unless-stopped
|
||||
@@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
|
||||
HOSTNAME=$(hostname)
|
||||
PORT="4000"
|
||||
NODE_ENV="production"
|
||||
TZ="America/Montreal"
|
||||
|
||||
DEFAULT_INTERFACE=$(ip route show default | awk '{print $5}'|head -n 1)
|
||||
|
||||
# Cross-platform IP detection for Debian and Alpine
|
||||
if [ -f /etc/alpine-release ]; then
|
||||
# Alpine Linux
|
||||
SERVER_IP=$(ip -o -4 addr show $DEFAULT_INTERFACE | awk '{print $4}' | cut -d/ -f1)
|
||||
else
|
||||
# Debian-based systems
|
||||
SERVER_IP=$(hostname -I | tr ' ' '\n' | grep -E "^$(ip -o -4 addr show $DEFAULT_INTERFACE | awk '{print $4}' | cut -d/ -f1)")
|
||||
fi
|
||||
|
||||
DIR_OBSIVIEWER=/DOCKER_CONFIG/obsiviewer
|
||||
DIR_OBSIVIEWER_VAULT=/NFS/OBSIDIAN_DOC/Obsidian_MAIN
|
||||
|
||||
echo "NGINX_HOSTNAME=$HOSTNAME" > .env
|
||||
echo "NGINX_SERVER_IP=$SERVER_IP" >> .env
|
||||
echo "DIR_OBSIVIEWER=$DIR_OBSIVIEWER" >> .env
|
||||
echo "DIR_OBSIVIEWER_VAULT=$DIR_OBSIVIEWER_VAULT" >> .env
|
||||
echo "PORT=$PORT" >> .env
|
||||
echo "NODE_ENV=$NODE_ENV" >> .env
|
||||
echo "TZ=$TZ" >> .env
|
||||
|
||||
sudo mkdir -p $DIR_OBSIVIEWER
|
||||
sudo mkdir -p $DIR_OBSIVIEWER/db
|
||||
sudo mkdir -p $DIR_OBSIVIEWER/assets
|
||||
@@ -0,0 +1,17 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Always execute relative to this script directory
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
REGISTRY="docker-registry.dev.home:5000"
|
||||
IMAGE="obsiviewer-angular:latest"
|
||||
|
||||
# Pull latest image from private registry
|
||||
docker image pull "${REGISTRY}/${IMAGE}"
|
||||
|
||||
# Restart stack with the current compose file
|
||||
docker compose down
|
||||
docker compose up -d
|
||||
|
||||
echo "Stack updated and running."
|
||||
Reference in New Issue
Block a user