chore: Suppression des fichiers et répertoires obsolètes
- Suppression des anciens fichiers de configuration déplacés vers 4nk-local/ - Suppression des répertoires log/ et data/ obsolètes - Suppression des fichiers .gitkeep et configurations d exemple - Nettoyage de la structure du projet après réorganisation
This commit is contained in:
parent
ef4f769f89
commit
b5e000231f
@ -60,7 +60,7 @@ target/
|
|||||||
|
|
||||||
# Docker (artefacts locaux éventuels)
|
# Docker (artefacts locaux éventuels)
|
||||||
docker-compose.override.yml
|
docker-compose.override.yml
|
||||||
docker-compose.*.yml.local
|
docker-compose.*.yml.4nk-local
|
||||||
*.docker.tar
|
*.docker.tar
|
||||||
docker-image-*.tar
|
docker-image-*.tar
|
||||||
docker-save-*.tar
|
docker-save-*.tar
|
||||||
|
203
log/README.md
203
log/README.md
@ -1,203 +0,0 @@
|
|||||||
# 📊 Monitoring des Logs 4NK_node
|
|
||||||
|
|
||||||
Ce répertoire contient la configuration complète pour surveiller et analyser les logs de tous les services 4NK_node en temps réel.
|
|
||||||
|
|
||||||
## 🚀 Démarrage Rapide
|
|
||||||
|
|
||||||
### 1. Démarrer le monitoring
|
|
||||||
```bash
|
|
||||||
cd 4NK_node
|
|
||||||
./log/start-monitoring.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2. Accéder à Grafana
|
|
||||||
- **URL**: http://localhost:3000
|
|
||||||
- **Utilisateur**: `admin`
|
|
||||||
- **Mot de passe**: `admin`
|
|
||||||
|
|
||||||
### 3. Dashboard principal
|
|
||||||
Le dashboard principal est automatiquement configuré et accessible à :
|
|
||||||
http://localhost:3000/d/4nk-node-logs/4nk-node-vue-d-ensemble-des-logs
|
|
||||||
|
|
||||||
## 🏗️ Architecture
|
|
||||||
|
|
||||||
```
|
|
||||||
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
|
||||||
│ Services │ │ Promtail │ │ Loki │
|
|
||||||
│ 4NK_node │───▶│ (Collecteur) │───▶│ (Stockage) │
|
|
||||||
│ │ │ │ │ │
|
|
||||||
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
|
||||||
│ │
|
|
||||||
▼ ▼
|
|
||||||
┌─────────────────┐ ┌─────────────────┐
|
|
||||||
│ Grafana │ │ Dashboards │
|
|
||||||
│ (Visualisation) │◄───│ (Analyses) │
|
|
||||||
└─────────────────┘ └─────────────────┘
|
|
||||||
```
|
|
||||||
|
|
||||||
## 📁 Structure des Fichiers
|
|
||||||
|
|
||||||
```
|
|
||||||
log/
|
|
||||||
├── README.md # Ce fichier
|
|
||||||
├── start-monitoring.sh # Script de démarrage
|
|
||||||
├── log-monitoring.yml # Docker Compose pour le monitoring
|
|
||||||
├── loki-config.yaml # Configuration Loki
|
|
||||||
├── promtail-config.yml # Configuration Promtail
|
|
||||||
├── grafana-datasources.yml # Sources de données Grafana
|
|
||||||
├── grafana-dashboards.yml # Configuration des dashboards
|
|
||||||
└── dashboards/
|
|
||||||
└── 4nk-node-overview.json # Dashboard principal
|
|
||||||
```
|
|
||||||
|
|
||||||
## 🔧 Services de Monitoring
|
|
||||||
|
|
||||||
### Loki (Port 3100)
|
|
||||||
- **Rôle**: Stockage et indexation des logs
|
|
||||||
- **Fonctionnalités**: Requêtes LogQL, rétention configurable
|
|
||||||
- **Stockage**: Fichiers locaux avec compression
|
|
||||||
|
|
||||||
### Promtail (Port 9080)
|
|
||||||
- **Rôle**: Collecte des logs Docker
|
|
||||||
- **Fonctionnalités**: Parsing JSON, étiquetage automatique
|
|
||||||
- **Collecte**: Logs de tous les conteneurs 4NK_node
|
|
||||||
|
|
||||||
### Grafana (Port 3000)
|
|
||||||
- **Rôle**: Interface de visualisation
|
|
||||||
- **Fonctionnalités**: Dashboards, alertes, requêtes temps réel
|
|
||||||
- **Accès**: Interface web avec authentification
|
|
||||||
|
|
||||||
## 📊 Dashboards Disponibles
|
|
||||||
|
|
||||||
### Dashboard Principal : "4NK Node - Vue d'ensemble des Logs"
|
|
||||||
- **Log Rate par Service**: Graphique temporel des logs par service
|
|
||||||
- **Total Logs (5m)**: Statistique du nombre total de logs
|
|
||||||
- **Logs en Temps Réel**: Affichage en direct des logs de tous les services
|
|
||||||
- **Répartition par Service**: Graphique circulaire des logs par service
|
|
||||||
- **Répartition par Niveau**: Graphique circulaire des logs par niveau (info, error, debug)
|
|
||||||
|
|
||||||
## 🔍 Requêtes LogQL Utiles
|
|
||||||
|
|
||||||
### Logs d'un service spécifique
|
|
||||||
```logql
|
|
||||||
{job="4nk_node", service="bitcoin"}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Logs d'erreur
|
|
||||||
```logql
|
|
||||||
{job="4nk_node"} |= "error"
|
|
||||||
```
|
|
||||||
|
|
||||||
### Logs des dernières 5 minutes
|
|
||||||
```logql
|
|
||||||
{job="4nk_node"} [5m]
|
|
||||||
```
|
|
||||||
|
|
||||||
### Recherche de texte
|
|
||||||
```logql
|
|
||||||
{job="4nk_node"} |~ "connection.*failed"
|
|
||||||
```
|
|
||||||
|
|
||||||
## 🛠️ Commandes Utiles
|
|
||||||
|
|
||||||
### Démarrer le monitoring
|
|
||||||
```bash
|
|
||||||
docker compose -f log-monitoring.yml up -d
|
|
||||||
```
|
|
||||||
|
|
||||||
### Voir les logs des services de monitoring
|
|
||||||
```bash
|
|
||||||
docker compose -f log-monitoring.yml logs -f
|
|
||||||
```
|
|
||||||
|
|
||||||
### Arrêter le monitoring
|
|
||||||
```bash
|
|
||||||
docker compose -f log-monitoring.yml down
|
|
||||||
```
|
|
||||||
|
|
||||||
### Redémarrer un service spécifique
|
|
||||||
```bash
|
|
||||||
docker compose -f log-monitoring.yml restart grafana
|
|
||||||
```
|
|
||||||
|
|
||||||
### Vérifier le statut
|
|
||||||
```bash
|
|
||||||
docker compose -f log-monitoring.yml ps
|
|
||||||
```
|
|
||||||
|
|
||||||
## 📈 Métriques Surveillées
|
|
||||||
|
|
||||||
### Services 4NK_node
|
|
||||||
- **bitcoin**: Logs de synchronisation, connexions RPC
|
|
||||||
- **blindbit**: Logs de traitement des blocs, erreurs
|
|
||||||
- **sdk_relay1/2/3**: Logs de connexion Bitcoin, erreurs RPC
|
|
||||||
- **sdk_signer**: Logs de connexion aux relays, erreurs WebSocket
|
|
||||||
- **sdk_storage**: Logs de base de données, erreurs de stockage
|
|
||||||
- **ihm_client**: Logs de l'interface utilisateur
|
|
||||||
- **tor**: Logs de connexion, erreurs de proxy
|
|
||||||
|
|
||||||
### Niveaux de Log
|
|
||||||
- **INFO**: Informations générales, statut des services
|
|
||||||
- **ERROR**: Erreurs critiques, échecs de connexion
|
|
||||||
- **DEBUG**: Informations détaillées pour le débogage
|
|
||||||
- **WARN**: Avertissements, problèmes non critiques
|
|
||||||
|
|
||||||
## 🔒 Sécurité
|
|
||||||
|
|
||||||
- **Grafana**: Authentification requise (admin/admin)
|
|
||||||
- **Loki**: Pas d'authentification (accès local uniquement)
|
|
||||||
- **Promtail**: Pas d'authentification (collecte locale uniquement)
|
|
||||||
- **Ports exposés**: 3000 (Grafana), 3100 (Loki), 9080 (Promtail)
|
|
||||||
|
|
||||||
## 🚨 Dépannage
|
|
||||||
|
|
||||||
### Grafana ne démarre pas
|
|
||||||
```bash
|
|
||||||
docker compose -f log-monitoring.yml logs grafana
|
|
||||||
```
|
|
||||||
|
|
||||||
### Promtail ne collecte pas de logs
|
|
||||||
```bash
|
|
||||||
docker compose -f log-monitoring.yml logs promtail
|
|
||||||
```
|
|
||||||
|
|
||||||
### Loki ne stocke pas de logs
|
|
||||||
```bash
|
|
||||||
docker compose -f log-monitoring.yml logs loki
|
|
||||||
```
|
|
||||||
|
|
||||||
### Vérifier les permissions
|
|
||||||
```bash
|
|
||||||
ls -la log/
|
|
||||||
chmod +x log/start-monitoring.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
## 📝 Personnalisation
|
|
||||||
|
|
||||||
### Ajouter un nouveau service
|
|
||||||
1. Modifier `promtail-config.yml`
|
|
||||||
2. Ajouter une nouvelle section `static_configs`
|
|
||||||
3. Redémarrer Promtail
|
|
||||||
|
|
||||||
### Créer un nouveau dashboard
|
|
||||||
1. Créer un fichier JSON dans `dashboards/`
|
|
||||||
2. Modifier `grafana-dashboards.yml` si nécessaire
|
|
||||||
3. Redémarrer Grafana
|
|
||||||
|
|
||||||
### Modifier la rétention des logs
|
|
||||||
1. Modifier `loki-config.yaml`
|
|
||||||
2. Ajuster `retention_period` et `chunk_retain_period`
|
|
||||||
3. Redémarrer Loki
|
|
||||||
|
|
||||||
## 🌟 Fonctionnalités Avancées
|
|
||||||
|
|
||||||
- **Alertes**: Configuration d'alertes sur des patterns de logs
|
|
||||||
- **Rétention**: Gestion automatique de la rétention des logs
|
|
||||||
- **Compression**: Compression automatique des anciens logs
|
|
||||||
- **Recherche**: Recherche full-text dans tous les logs
|
|
||||||
- **Filtrage**: Filtrage par service, niveau, timestamp
|
|
||||||
- **Export**: Export des logs en différents formats
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Note**: Ce système de monitoring est conçu pour un environnement de développement. Pour la production, considérez l'ajout d'authentification et de chiffrement.
|
|
@ -1,347 +0,0 @@
|
|||||||
{
|
|
||||||
"annotations": {
|
|
||||||
"list": [
|
|
||||||
{
|
|
||||||
"builtIn": 1,
|
|
||||||
"datasource": {
|
|
||||||
"type": "grafana",
|
|
||||||
"uid": "-- Grafana --"
|
|
||||||
},
|
|
||||||
"enable": true,
|
|
||||||
"hide": true,
|
|
||||||
"iconColor": "rgba(0, 211, 255, 1)",
|
|
||||||
"name": "Annotations & Alerts",
|
|
||||||
"type": "dashboard"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"editable": true,
|
|
||||||
"fiscalYearStartMonth": 0,
|
|
||||||
"graphTooltip": 0,
|
|
||||||
"id": null,
|
|
||||||
"links": [],
|
|
||||||
"liveNow": false,
|
|
||||||
"panels": [
|
|
||||||
{
|
|
||||||
"datasource": {
|
|
||||||
"type": "loki",
|
|
||||||
"uid": "loki"
|
|
||||||
},
|
|
||||||
"fieldConfig": {
|
|
||||||
"defaults": {
|
|
||||||
"color": {
|
|
||||||
"mode": "palette-classic"
|
|
||||||
},
|
|
||||||
"custom": {
|
|
||||||
"axisLabel": "",
|
|
||||||
"axisPlacement": "auto",
|
|
||||||
"barAlignment": 0,
|
|
||||||
"drawStyle": "line",
|
|
||||||
"fillOpacity": 10,
|
|
||||||
"gradientMode": "none",
|
|
||||||
"hideFrom": {
|
|
||||||
"legend": false,
|
|
||||||
"tooltip": false,
|
|
||||||
"vis": false
|
|
||||||
},
|
|
||||||
"lineInterpolation": "linear",
|
|
||||||
"lineWidth": 1,
|
|
||||||
"pointSize": 5,
|
|
||||||
"scaleDistribution": {
|
|
||||||
"type": "linear"
|
|
||||||
},
|
|
||||||
"showPoints": "never",
|
|
||||||
"spanNulls": false,
|
|
||||||
"stacking": {
|
|
||||||
"group": "A",
|
|
||||||
"mode": "none"
|
|
||||||
},
|
|
||||||
"thresholdsStyle": {
|
|
||||||
"mode": "off"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"mappings": [],
|
|
||||||
"thresholds": {
|
|
||||||
"mode": "absolute",
|
|
||||||
"steps": [
|
|
||||||
{
|
|
||||||
"color": "green",
|
|
||||||
"value": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"color": "red",
|
|
||||||
"value": 80
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"unit": "short"
|
|
||||||
},
|
|
||||||
"overrides": []
|
|
||||||
},
|
|
||||||
"gridPos": {
|
|
||||||
"h": 8,
|
|
||||||
"w": 12,
|
|
||||||
"x": 0,
|
|
||||||
"y": 0
|
|
||||||
},
|
|
||||||
"id": 1,
|
|
||||||
"options": {
|
|
||||||
"legend": {
|
|
||||||
"calcs": [],
|
|
||||||
"displayMode": "list",
|
|
||||||
"placement": "bottom",
|
|
||||||
"showLegend": true
|
|
||||||
},
|
|
||||||
"tooltip": {
|
|
||||||
"mode": "single",
|
|
||||||
"sort": "none"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"targets": [
|
|
||||||
{
|
|
||||||
"datasource": {
|
|
||||||
"type": "loki",
|
|
||||||
"uid": "loki"
|
|
||||||
},
|
|
||||||
"editorMode": "code",
|
|
||||||
"expr": "rate({job=\"4nk_node\"} [5m])",
|
|
||||||
"queryType": "",
|
|
||||||
"refId": "A"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"title": "Log Rate par Service",
|
|
||||||
"type": "timeseries"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"datasource": {
|
|
||||||
"type": "loki",
|
|
||||||
"uid": "loki"
|
|
||||||
},
|
|
||||||
"fieldConfig": {
|
|
||||||
"defaults": {
|
|
||||||
"color": {
|
|
||||||
"mode": "thresholds"
|
|
||||||
},
|
|
||||||
"mappings": [],
|
|
||||||
"thresholds": {
|
|
||||||
"mode": "absolute",
|
|
||||||
"steps": [
|
|
||||||
{
|
|
||||||
"color": "green",
|
|
||||||
"value": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"color": "red",
|
|
||||||
"value": 80
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"overrides": []
|
|
||||||
},
|
|
||||||
"gridPos": {
|
|
||||||
"h": 8,
|
|
||||||
"w": 12,
|
|
||||||
"x": 12,
|
|
||||||
"y": 0
|
|
||||||
},
|
|
||||||
"id": 2,
|
|
||||||
"options": {
|
|
||||||
"colorMode": "value",
|
|
||||||
"graphMode": "area",
|
|
||||||
"justifyMode": "auto",
|
|
||||||
"orientation": "auto",
|
|
||||||
"reduceOptions": {
|
|
||||||
"calcs": [
|
|
||||||
"lastNotNull"
|
|
||||||
],
|
|
||||||
"fields": "",
|
|
||||||
"values": false
|
|
||||||
},
|
|
||||||
"textMode": "auto"
|
|
||||||
},
|
|
||||||
"pluginVersion": "10.0.0",
|
|
||||||
"targets": [
|
|
||||||
{
|
|
||||||
"datasource": {
|
|
||||||
"type": "loki",
|
|
||||||
"uid": "loki"
|
|
||||||
},
|
|
||||||
"editorMode": "code",
|
|
||||||
"expr": "count_over_time({job=\"4nk_node\"} [5m])",
|
|
||||||
"queryType": "",
|
|
||||||
"refId": "A"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"title": "Total Logs (5m)",
|
|
||||||
"type": "stat"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"datasource": {
|
|
||||||
"type": "loki",
|
|
||||||
"uid": "loki"
|
|
||||||
},
|
|
||||||
"gridPos": {
|
|
||||||
"h": 8,
|
|
||||||
"w": 24,
|
|
||||||
"x": 0,
|
|
||||||
"y": 8
|
|
||||||
},
|
|
||||||
"id": 3,
|
|
||||||
"options": {
|
|
||||||
"dedupStrategy": "none",
|
|
||||||
"enableLogDetails": true,
|
|
||||||
"prettifyLogMessage": false,
|
|
||||||
"showCommonLabels": false,
|
|
||||||
"showLabels": false,
|
|
||||||
"showTime": false,
|
|
||||||
"sortOrder": "Descending",
|
|
||||||
"wrapLogMessage": false
|
|
||||||
},
|
|
||||||
"targets": [
|
|
||||||
{
|
|
||||||
"datasource": {
|
|
||||||
"type": "loki",
|
|
||||||
"uid": "loki"
|
|
||||||
},
|
|
||||||
"editorMode": "code",
|
|
||||||
"expr": "{job=\"4nk_node\"} | json | line_format \"{{.service}}: {{.msg}}\"",
|
|
||||||
"maxLines": 100,
|
|
||||||
"queryType": "",
|
|
||||||
"refId": "A"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"title": "Logs en Temps Réel - Tous les Services",
|
|
||||||
"type": "logs"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"datasource": {
|
|
||||||
"type": "loki",
|
|
||||||
"uid": "loki"
|
|
||||||
},
|
|
||||||
"fieldConfig": {
|
|
||||||
"defaults": {
|
|
||||||
"color": {
|
|
||||||
"mode": "palette-classic"
|
|
||||||
},
|
|
||||||
"custom": {
|
|
||||||
"hideFrom": {
|
|
||||||
"legend": false,
|
|
||||||
"tooltip": false,
|
|
||||||
"vis": false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"mappings": []
|
|
||||||
},
|
|
||||||
"overrides": []
|
|
||||||
},
|
|
||||||
"gridPos": {
|
|
||||||
"h": 8,
|
|
||||||
"w": 12,
|
|
||||||
"x": 0,
|
|
||||||
"y": 16
|
|
||||||
},
|
|
||||||
"id": 4,
|
|
||||||
"options": {
|
|
||||||
"legend": {
|
|
||||||
"displayMode": "list",
|
|
||||||
"placement": "bottom",
|
|
||||||
"showLegend": true
|
|
||||||
},
|
|
||||||
"pieType": "pie",
|
|
||||||
"reduceOptions": {
|
|
||||||
"calcs": [
|
|
||||||
"lastNotNull"
|
|
||||||
],
|
|
||||||
"fields": "",
|
|
||||||
"values": false
|
|
||||||
},
|
|
||||||
"tooltip": {
|
|
||||||
"mode": "single",
|
|
||||||
"sort": "none"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"targets": [
|
|
||||||
{
|
|
||||||
"datasource": {
|
|
||||||
"type": "loki",
|
|
||||||
"uid": "loki"
|
|
||||||
},
|
|
||||||
"editorMode": "code",
|
|
||||||
"expr": "count_over_time({job=\"4nk_node\"} [5m]) by (service)",
|
|
||||||
"queryType": "",
|
|
||||||
"refId": "A"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"title": "Répartition des Logs par Service",
|
|
||||||
"type": "piechart"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"datasource": {
|
|
||||||
"type": "loki",
|
|
||||||
"uid": "loki"
|
|
||||||
},
|
|
||||||
"gridPos": {
|
|
||||||
"h": 8,
|
|
||||||
"w": 12,
|
|
||||||
"x": 12,
|
|
||||||
"y": 16
|
|
||||||
},
|
|
||||||
"id": 5,
|
|
||||||
"options": {
|
|
||||||
"legend": {
|
|
||||||
"displayMode": "list",
|
|
||||||
"placement": "bottom",
|
|
||||||
"showLegend": true
|
|
||||||
},
|
|
||||||
"pieType": "pie",
|
|
||||||
"reduceOptions": {
|
|
||||||
"calcs": [
|
|
||||||
"lastNotNull"
|
|
||||||
],
|
|
||||||
"fields": "",
|
|
||||||
"values": false
|
|
||||||
},
|
|
||||||
"tooltip": {
|
|
||||||
"mode": "single",
|
|
||||||
"sort": "none"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"targets": [
|
|
||||||
{
|
|
||||||
"datasource": {
|
|
||||||
"type": "loki",
|
|
||||||
"uid": "loki"
|
|
||||||
},
|
|
||||||
"editorMode": "code",
|
|
||||||
"expr": "count_over_time({job=\"4nk_node\"} [5m]) by (level)",
|
|
||||||
"queryType": "",
|
|
||||||
"refId": "A"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"title": "Répartition des Logs par Niveau",
|
|
||||||
"type": "piechart"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"refresh": "5s",
|
|
||||||
"schemaVersion": 38,
|
|
||||||
"style": "dark",
|
|
||||||
"tags": [
|
|
||||||
"4nk_node",
|
|
||||||
"monitoring",
|
|
||||||
"logs"
|
|
||||||
],
|
|
||||||
"templating": {
|
|
||||||
"list": []
|
|
||||||
},
|
|
||||||
"time": {
|
|
||||||
"from": "now-1h",
|
|
||||||
"to": "now"
|
|
||||||
},
|
|
||||||
"timepicker": {},
|
|
||||||
"timezone": "",
|
|
||||||
"title": "4NK Node - Vue d'ensemble des Logs",
|
|
||||||
"uid": "4nk-node-logs",
|
|
||||||
"version": 1,
|
|
||||||
"weekStart": ""
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
apiVersion: 1
|
|
||||||
|
|
||||||
providers:
|
|
||||||
- name: '4NK Node Dashboards'
|
|
||||||
orgId: 1
|
|
||||||
folder: '4NK Node'
|
|
||||||
type: file
|
|
||||||
disableDeletion: false
|
|
||||||
updateIntervalSeconds: 10
|
|
||||||
allowUiUpdates: true
|
|
||||||
options:
|
|
||||||
path: /etc/grafana/provisioning/dashboards/dashboards
|
|
@ -1,16 +0,0 @@
|
|||||||
apiVersion: 1
|
|
||||||
|
|
||||||
datasources:
|
|
||||||
- name: Loki
|
|
||||||
type: loki
|
|
||||||
access: proxy
|
|
||||||
url: http://localhost:3100
|
|
||||||
isDefault: true
|
|
||||||
editable: true
|
|
||||||
jsonData:
|
|
||||||
maxLines: 1000
|
|
||||||
derivedFields:
|
|
||||||
- datasourceUid: loki
|
|
||||||
matcherRegex: "container_name=(\\w+)"
|
|
||||||
name: "Container"
|
|
||||||
url: "/d/${__value.raw}"
|
|
@ -1,45 +0,0 @@
|
|||||||
server:
|
|
||||||
http_listen_port: 3100
|
|
||||||
grpc_listen_port: 9096
|
|
||||||
log_level: info
|
|
||||||
chunk_target_size: 1048576
|
|
||||||
schema_config:
|
|
||||||
configs:
|
|
||||||
- from: 2020-10-15
|
|
||||||
store: boltdb-shipper
|
|
||||||
object_store: filesystem
|
|
||||||
schema: v11
|
|
||||||
index:
|
|
||||||
prefix: index_
|
|
||||||
period: 24h
|
|
||||||
storage_config:
|
|
||||||
boltdb_shipper:
|
|
||||||
active_index_directory: /loki/index
|
|
||||||
cache_location: /loki/boltdb-cache
|
|
||||||
shared_store: filesystem
|
|
||||||
filesystem:
|
|
||||||
directory: /loki/chunks
|
|
||||||
limits_config:
|
|
||||||
enforce_metric_name: false
|
|
||||||
reject_old_samples: true
|
|
||||||
reject_old_samples_max_age: 168h
|
|
||||||
chunk_store_config:
|
|
||||||
max_look_back_period: 168h
|
|
||||||
compactor:
|
|
||||||
working_directory: /loki/boltdb-shipper-compactor
|
|
||||||
shared_store: filesystem
|
|
||||||
compactor_ring:
|
|
||||||
kvstore:
|
|
||||||
store: inmemory
|
|
||||||
ruler:
|
|
||||||
storage:
|
|
||||||
type: local
|
|
||||||
local:
|
|
||||||
directory: /loki/rules
|
|
||||||
ring:
|
|
||||||
kvstore:
|
|
||||||
store: inmemory
|
|
||||||
rule_path: /loki/rules-temp
|
|
||||||
alertmanager_url: http://localhost:9093
|
|
||||||
enable_api: true
|
|
||||||
EOF
|
|
@ -1,32 +0,0 @@
|
|||||||
server:
|
|
||||||
http_listen_port: 9080
|
|
||||||
grpc_listen_port: 0
|
|
||||||
|
|
||||||
positions:
|
|
||||||
filename: /tmp/positions.yaml
|
|
||||||
|
|
||||||
clients:
|
|
||||||
- url: http://loki:3100/loki/api/v1/push
|
|
||||||
|
|
||||||
scrape_configs:
|
|
||||||
- job_name: 4nk_node_core_logs
|
|
||||||
static_configs:
|
|
||||||
- targets: [localhost]
|
|
||||||
labels:
|
|
||||||
job: 4nk_node_core
|
|
||||||
__path__: /workspace/logs/**/*.log
|
|
||||||
|
|
||||||
- job_name: 4nk_modules_logs
|
|
||||||
static_configs:
|
|
||||||
- targets: [localhost]
|
|
||||||
labels:
|
|
||||||
job: 4nk_modules
|
|
||||||
__path__: /workspace/modules/*/logs/**/*.log
|
|
||||||
|
|
||||||
- job_name: 4nk_projects_logs
|
|
||||||
static_configs:
|
|
||||||
- targets: [localhost]
|
|
||||||
labels:
|
|
||||||
job: 4nk_projects
|
|
||||||
__path__: /workspace/projects/*/*/logs/**/*.log
|
|
||||||
EOF
|
|
@ -1,49 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Script de démarrage du monitoring des logs 4NK_node
|
|
||||||
# Auteur: Assistant IA
|
|
||||||
# Date: $(date)
|
|
||||||
|
|
||||||
echo "🚀 Démarrage du monitoring des logs 4NK_node..."
|
|
||||||
|
|
||||||
# Vérifier que nous sommes dans le bon répertoire
|
|
||||||
if [ ! -f "log-monitoring.yml" ]; then
|
|
||||||
echo "❌ Erreur: Ce script doit être exécuté depuis le répertoire 4NK_node"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Démarrer les services de monitoring
|
|
||||||
echo "📊 Démarrage de Loki (stockage des logs)..."
|
|
||||||
docker compose -f log-monitoring.yml up -d loki
|
|
||||||
|
|
||||||
echo "⏳ Attente du démarrage de Loki..."
|
|
||||||
sleep 10
|
|
||||||
|
|
||||||
echo "📥 Démarrage de Promtail (collecte des logs)..."
|
|
||||||
docker compose -f log-monitoring.yml up -d promtail
|
|
||||||
|
|
||||||
echo "⏳ Attente du démarrage de Promtail..."
|
|
||||||
sleep 5
|
|
||||||
|
|
||||||
echo "📈 Démarrage de Grafana (visualisation)..."
|
|
||||||
docker compose -f log-monitoring.yml up -d grafana
|
|
||||||
|
|
||||||
echo "⏳ Attente du démarrage de Grafana..."
|
|
||||||
sleep 10
|
|
||||||
|
|
||||||
# Vérifier le statut des services
|
|
||||||
echo "🔍 Vérification du statut des services..."
|
|
||||||
docker compose -f log-monitoring.yml ps
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "✅ Monitoring des logs démarré avec succès !"
|
|
||||||
echo ""
|
|
||||||
echo "🌐 Accès aux services :"
|
|
||||||
echo " - Grafana: http://localhost:3000 (admin/admin)"
|
|
||||||
echo " - Loki: http://localhost:3100"
|
|
||||||
echo " - Promtail: http://localhost:9080"
|
|
||||||
echo ""
|
|
||||||
echo "📊 Dashboard principal: http://localhost:3000/d/4nk-node-logs/4nk-node-vue-d-ensemble-des-logs"
|
|
||||||
echo ""
|
|
||||||
echo "📝 Pour arrêter: docker compose -f log-monitoring.yml down"
|
|
||||||
echo "📝 Pour voir les logs: docker compose -f log-monitoring.yml logs -f"
|
|
@ -1,40 +0,0 @@
|
|||||||
# Configuration globale
|
|
||||||
datadir=/home/bitcoin/.bitcoin
|
|
||||||
server=1
|
|
||||||
txindex=1
|
|
||||||
debug=1
|
|
||||||
loglevel=debug
|
|
||||||
logthreadnames=1
|
|
||||||
signet=1
|
|
||||||
onion=tor:9050
|
|
||||||
listenonion=1
|
|
||||||
|
|
||||||
# Paramètres RPC
|
|
||||||
rpcauth=bitcoin:c8ea921c7357bd6a5a8a7c43a12350a7$955e25b17672987b17c5a12f12cd8b9c1d38f0f86201c8cd47fc431f2e1c7956
|
|
||||||
rpcallowip=172.20.0.0/16
|
|
||||||
rpcworkqueue=32
|
|
||||||
rpcthreads=4
|
|
||||||
rpcdoccheck=1
|
|
||||||
|
|
||||||
# Paramètres ZMQ
|
|
||||||
zmqpubhashblock=tcp://0.0.0.0:29000
|
|
||||||
zmqpubrawtx=tcp://0.0.0.0:29000
|
|
||||||
|
|
||||||
[signet]
|
|
||||||
listen=1
|
|
||||||
bind=0.0.0.0:38333
|
|
||||||
rpcbind=0.0.0.0:38332
|
|
||||||
rpcport=38332
|
|
||||||
fallbackfee=0.0001
|
|
||||||
blockfilterindex=1
|
|
||||||
datacarriersize=205
|
|
||||||
acceptnonstdtxn=1
|
|
||||||
dustrelayfee=0.00000001
|
|
||||||
minrelaytxfee=0.00000001
|
|
||||||
prune=0
|
|
||||||
signetchallenge=0020341c43803863c252df326e73574a27d7e19322992061017b0dc893e2eab90821
|
|
||||||
walletdir=/home/bitcoin/.bitcoin/wallets
|
|
||||||
wallet=mining
|
|
||||||
wallet=watchonly
|
|
||||||
maxtxfee=1
|
|
||||||
addnode=tlv2yqamflv22vfdzy2hha2nwmt6zrwrhjjzz4lx7qyq7lyc6wfhabyd.onion
|
|
@ -1,40 +0,0 @@
|
|||||||
# Configuration globale
|
|
||||||
datadir=/home/bitcoin/.bitcoin
|
|
||||||
server=1
|
|
||||||
txindex=1
|
|
||||||
debug=1
|
|
||||||
loglevel=debug
|
|
||||||
logthreadnames=1
|
|
||||||
signet=1
|
|
||||||
onion=tor:9050
|
|
||||||
listenonion=1
|
|
||||||
|
|
||||||
# Paramètres RPC
|
|
||||||
rpcauth=bitcoin:c8ea921c7357bd6a5a8a7c43a12350a7$955e25b17672987b17c5a12f12cd8b9c1d38f0f86201c8cd47fc431f2e1c7956
|
|
||||||
rpcallowip=172.20.0.0/16
|
|
||||||
rpcworkqueue=32
|
|
||||||
rpcthreads=4
|
|
||||||
rpcdoccheck=1
|
|
||||||
|
|
||||||
# Paramètres ZMQ
|
|
||||||
zmqpubhashblock=tcp://bitcoin.local:29000
|
|
||||||
zmqpubrawtx=tcp://bitcoin.local:29000
|
|
||||||
|
|
||||||
[signet]
|
|
||||||
listen=1
|
|
||||||
bind=bitcoin.local:38333
|
|
||||||
rpcbind=bitcoin.local:38332
|
|
||||||
rpcport=38332
|
|
||||||
fallbackfee=0.0001
|
|
||||||
blockfilterindex=1
|
|
||||||
datacarriersize=205
|
|
||||||
acceptnonstdtxn=1
|
|
||||||
dustrelayfee=0.00000001
|
|
||||||
minrelaytxfee=0.00000001
|
|
||||||
prune=0
|
|
||||||
signetchallenge=0020341c43803863c252df326e73574a27d7e19322992061017b0dc893e2eab90821
|
|
||||||
walletdir=/home/bitcoin/.bitcoin/wallets
|
|
||||||
wallet=mining
|
|
||||||
wallet=watchonly
|
|
||||||
maxtxfee=1
|
|
||||||
addnode=tlv2yqamflv22vfdzy2hha2nwmt6zrwrhjjzz4lx7qyq7lyc6wfhabyd.onion
|
|
@ -1,28 +0,0 @@
|
|||||||
# Configuration pour blindbit-oracle
|
|
||||||
host = "blindbit-oracle.local:8000"
|
|
||||||
|
|
||||||
# Définit la chaîne sur laquelle le wallet fonctionne
|
|
||||||
chain = "signet"
|
|
||||||
|
|
||||||
# Point d'accès RPC Bitcoin
|
|
||||||
rpc_endpoint = "http://bitcoin.local:38332"
|
|
||||||
|
|
||||||
# Chemin vers le fichier cookie RPC Bitcoin
|
|
||||||
cookie_path = "/home/bitcoin/.bitcoin/signet/.cookie"
|
|
||||||
|
|
||||||
# Identifiants RPC Bitcoin (non utilisés avec cookie_path)
|
|
||||||
rpc_user = ""
|
|
||||||
rpc_pass = ""
|
|
||||||
|
|
||||||
# Hauteur de départ pour la synchronisation
|
|
||||||
sync_start_height = 1
|
|
||||||
|
|
||||||
# Paramètres de performance
|
|
||||||
max_parallel_tweak_computations = 4
|
|
||||||
max_parallel_requests = 4
|
|
||||||
|
|
||||||
# Configuration des index
|
|
||||||
tweaks_only = 0
|
|
||||||
tweaks_full_basic = 1
|
|
||||||
tweaks_full_with_dust_filter = 1
|
|
||||||
tweaks_cut_through_with_dust_filter = 1
|
|
@ -1,49 +0,0 @@
|
|||||||
[paths]
|
|
||||||
data = /var/lib/grafana/data
|
|
||||||
logs = /var/lib/grafana/logs
|
|
||||||
plugins = /var/lib/grafana/plugins
|
|
||||||
provisioning = /etc/grafana/provisioning
|
|
||||||
|
|
||||||
[server]
|
|
||||||
http_port = 3000
|
|
||||||
http_addr = 0.0.0.0
|
|
||||||
root_url = http://grafana-central.local:3000/
|
|
||||||
serve_from_sub_path = false
|
|
||||||
|
|
||||||
[database]
|
|
||||||
type = sqlite3
|
|
||||||
path = grafana.db
|
|
||||||
|
|
||||||
[security]
|
|
||||||
admin_user = admin
|
|
||||||
admin_password = admin
|
|
||||||
secret_key = SW2YcwTIb9zpOOhoPsMm
|
|
||||||
|
|
||||||
[users]
|
|
||||||
allow_sign_up = false
|
|
||||||
auto_assign_org = true
|
|
||||||
auto_assign_org_role = Viewer
|
|
||||||
|
|
||||||
[log]
|
|
||||||
mode = console
|
|
||||||
level = info
|
|
||||||
|
|
||||||
[alerting]
|
|
||||||
enabled = true
|
|
||||||
|
|
||||||
[explore]
|
|
||||||
enabled = true
|
|
||||||
|
|
||||||
[panels]
|
|
||||||
disable_sanitize_html = false
|
|
||||||
|
|
||||||
[plugins]
|
|
||||||
enable_alpha = false
|
|
||||||
app_tls_skip_verify_insecure = false
|
|
||||||
|
|
||||||
[auth]
|
|
||||||
disable_login_form = false
|
|
||||||
disable_signout_menu = false
|
|
||||||
|
|
||||||
[auth.anonymous]
|
|
||||||
enabled = false
|
|
@ -1,16 +0,0 @@
|
|||||||
|
|
||||||
[PROD]
|
|
||||||
U32_MAX=4294967295
|
|
||||||
BASEURL="http://ihm-client.local"
|
|
||||||
BOOTSTRAPURL=["http://sdk-relay1.local:8090"]
|
|
||||||
STORAGEURL="http://sdk-storage.local/storage"
|
|
||||||
BLINDBITURL="http://blindbit.local:8000"
|
|
||||||
DEFAULTAMOUNT=1000
|
|
||||||
|
|
||||||
[DEV]
|
|
||||||
U32_MAX=4294967295
|
|
||||||
BASEURL="http://ihm-client.local"
|
|
||||||
BOOTSTRAPURL=["http://sdk-relay1.local:8090"]
|
|
||||||
STORAGEURL="http://sdk-storage.local/storage"
|
|
||||||
BLINDBITURL="http://blindbit.local:8000"
|
|
||||||
DEFAULTAMOUNT=1000
|
|
@ -1,19 +0,0 @@
|
|||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIDIDCCAgigAwIBAgIUaYEl/pQF0ZyLDAi5FR7xZYyeeKswDQYJKoZIhvcNAQEL
|
|
||||||
BQAwEjEQMA4GA1UEAwwHKi5sb2NhbDAeFw0yNTA5MTExNDI0MjRaFw0zNTA5MDkx
|
|
||||||
NDI0MjRaMBIxEDAOBgNVBAMMByoubG9jYWwwggEiMA0GCSqGSIb3DQEBAQUAA4IB
|
|
||||||
DwAwggEKAoIBAQD3Njaaod0J1g8ag24ZDwW2Y1xOmJpZqQp2b2CQodAsoAQFrvfz
|
|
||||||
ltOwOAiZPV2aBDL7u2aKbNfZW7AUTBNDanevadLzeXK1H9xXuDzr0ROQh0LK3V+V
|
|
||||||
znfQh8Y12HdOWtyZMf3suEBoy98OoT8jqUocDajDOfVMx1kYb3Rl8EUmcS9IqOOr
|
|
||||||
h68rrcmSH4Wq1cTXMv71qqTD7K0vixdgrOgN2YLF5l+upb465TpUFp3pp63s/Itf
|
|
||||||
/AOpd5PDu2tw2aZvrEH4MckQ310S3rRQCobe61m5iwIRk1KWdgb2bGyV6yZX6KmF
|
|
||||||
htFN1OZaN0Iz/kzMkqSRhyfViiCcyStLWw2NAgMBAAGjbjBsMB0GA1UdDgQWBBR8
|
|
||||||
4QPda5kFELdFLjDjbieUMk9nsTAfBgNVHSMEGDAWgBR84QPda5kFELdFLjDjbieU
|
|
||||||
Mk9nsTAPBgNVHRMBAf8EBTADAQH/MBkGA1UdEQQSMBCCByoubG9jYWyCBWxvY2Fs
|
|
||||||
MA0GCSqGSIb3DQEBCwUAA4IBAQC+OzNNEUQLR/01AwfQpduYSD+YVRxrYvDdKujR
|
|
||||||
zc+yTyglkM3RQdmLVsMPaVmZatUc0DG1Ggx+D9oTLVrqQcdy1mKBJ2jKn+cnlJ9R
|
|
||||||
32CKtnb6vBPTwm03dP08H6cH8f17RKI4rTnl7C/bygMNeuvmlXltr7FZIdI9fJ1n
|
|
||||||
kMGpY7FXQQw66qYy6OFc+YPkA3soOAfyUuNIzjaxB/E87Sk4quxE6zFNfCBK8QTS
|
|
||||||
/Cwdx7anxQpmnpu9a1f7ql1t6ylFPCn39HT/kemSXeq2nU43X/CGEAhVKK4aEX9Y
|
|
||||||
E3plaTx7fKjFEli0V7T+bhj8c6nJb3IprvW2uQ+fhzqRmRiI
|
|
||||||
-----END CERTIFICATE-----
|
|
@ -1,28 +0,0 @@
|
|||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQD3Njaaod0J1g8a
|
|
||||||
g24ZDwW2Y1xOmJpZqQp2b2CQodAsoAQFrvfzltOwOAiZPV2aBDL7u2aKbNfZW7AU
|
|
||||||
TBNDanevadLzeXK1H9xXuDzr0ROQh0LK3V+VznfQh8Y12HdOWtyZMf3suEBoy98O
|
|
||||||
oT8jqUocDajDOfVMx1kYb3Rl8EUmcS9IqOOrh68rrcmSH4Wq1cTXMv71qqTD7K0v
|
|
||||||
ixdgrOgN2YLF5l+upb465TpUFp3pp63s/Itf/AOpd5PDu2tw2aZvrEH4MckQ310S
|
|
||||||
3rRQCobe61m5iwIRk1KWdgb2bGyV6yZX6KmFhtFN1OZaN0Iz/kzMkqSRhyfViiCc
|
|
||||||
yStLWw2NAgMBAAECggEAXOU3YaYffJm+tTTcQ3hcqivuPO6lWbnm35h8zfywUISU
|
|
||||||
3lngfN2ZkKeNu5/Os5iOXAAQyUWbWudUZFwuBPBWJ0l55tolW6CsWR43blnzoyTg
|
|
||||||
2YCUcaPTbD4JIqTEOGJ2cO7TP4gBVCAAIuw+4LS1z5Lmbu4xmndyqHcBY2kFYyr6
|
|
||||||
CS4oHCip1J5AcIXbDx0eEJxyFFQvh/nAy1nUvoAuqt3X0Bpoj90uBXyG1KRz2Db7
|
|
||||||
KANWPMeWRVPU6ceXorUPb24fUDah2g3YddXG3bqVVS0yq9G5eMZv5sl8Chs2P5Kp
|
|
||||||
3wARRjvt1WANXWPwk8W+cbBrWsZxCgCxgpgup48S9QKBgQD+Chl+TexZzReHR5yD
|
|
||||||
jif3/FKX2hp38RmNbpO2EhxCbkmGgmZwTkWyNCwCCr4mhAKMIMbL69zT8HKxWdSx
|
|
||||||
C0lJ9oPYCW3VqqPOIfIsN6mW2Hi4s2aMA8nNUUWWjhyi/msSDxOZRJZUj3s3+evs
|
|
||||||
B/Q9jkQvFkmNT0ZYSpHlUwgR5wKBgQD5Hp/ZLzySaBOqLpZjmPih9Q53diSuTZvN
|
|
||||||
wZVicmh32moGniSGKjWC7cetGCyAHzsBMDdN9XBJ1gqGxkmiFFmmfdxtpo/Jmps1
|
|
||||||
a//ZS+RfXpphpRmgXfnUd9nUNwv0roQWTf0njmwdjXFNMBQjlQQZ1NwsvrJPr4FA
|
|
||||||
9rC3dLmeawKBgF4skkzPSEn2DL3anzvprAlzYY7njJ5gI4/ZqSp6xj0eM2WI277Q
|
|
||||||
VWf9jT7oipsunt8hm3CnLELpRStX2NAVFgM0PqYMwMnPq0/UJ7manOTNtNsLrn1D
|
|
||||||
PkE92qU4Y4dM95ZHPoW39l68nfofTQU/4ZwcLEykX3niJHrAkhtIT5qLAoGAGeXK
|
|
||||||
Hkzf0iSJrs5rCe2UI1oTZ+3bQFeHE+vE+NgF7jfBf/CewWfP6k2HzYHO1n7opmX5
|
|
||||||
ydvzEWnz7DDe5L+S1lENQkTne8Db08DndxKBqjxudiowsNA0MZdICNy0HHqr9pmi
|
|
||||||
8KLIsIXMuoZ+AXjzVTAgt3IXnVsUZ8l9c4Tp6wMCgYBGIx0MLhJ69X1Te9SQb/pT
|
|
||||||
rxEEmn17z7YY0xUablgwahA+HbCeJjAckk7zmjEG9c8hixYecXZTD9A7ul9gCrAU
|
|
||||||
zlZF2QDv28tLRr8nHNYFFzbNTI/gy0cFDJKGouE6DPGjU8bWM23fXtJJTVeqIMW5
|
|
||||||
8oCPL7ZL6V5uxZEWFfQUtg==
|
|
||||||
-----END PRIVATE KEY-----
|
|
@ -1,76 +0,0 @@
|
|||||||
worker_processes auto;
|
|
||||||
|
|
||||||
events {
|
|
||||||
worker_connections 1024;
|
|
||||||
}
|
|
||||||
|
|
||||||
http {
|
|
||||||
include /etc/nginx/mime.types;
|
|
||||||
default_type application/octet-stream;
|
|
||||||
|
|
||||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
|
||||||
'$status $body_bytes_sent "$http_referer" '
|
|
||||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
|
||||||
|
|
||||||
access_log /var/log/nginx/access.log main;
|
|
||||||
error_log /var/log/nginx/error.log warn;
|
|
||||||
|
|
||||||
sendfile on;
|
|
||||||
keepalive_timeout 65;
|
|
||||||
|
|
||||||
# DNS interne (dnsmasq sur la passerelle Docker de 4nk_network)
|
|
||||||
resolver 172.20.0.1 valid=10s ipv6=off;
|
|
||||||
|
|
||||||
map $http_upgrade $connection_upgrade {
|
|
||||||
default upgrade;
|
|
||||||
'' close;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Mapping hôte -> port applicatif
|
|
||||||
map $host $upstream_port {
|
|
||||||
default 80;
|
|
||||||
ihm-client.local 80;
|
|
||||||
coffre-front.local 3000;
|
|
||||||
coffre-back-mini.local 8080;
|
|
||||||
blindbit-oracle.local 8000;
|
|
||||||
sdk-storage.local 8080;
|
|
||||||
sdk-relay1.local 8090;
|
|
||||||
sdk-relay2.local 8090;
|
|
||||||
sdk-relay3.local 8090;
|
|
||||||
sdk-signer.local 9090;
|
|
||||||
grafana-central.local 3000;
|
|
||||||
loki.local 3100;
|
|
||||||
prometheus.local 9091;
|
|
||||||
4nk-ia-front.local 3000;
|
|
||||||
}
|
|
||||||
|
|
||||||
ssl_protocols TLSv1.2 TLSv1.3;
|
|
||||||
ssl_prefer_server_ciphers on;
|
|
||||||
ssl_session_cache shared:SSL:10m;
|
|
||||||
ssl_session_timeout 10m;
|
|
||||||
|
|
||||||
server {
|
|
||||||
listen 443 ssl;
|
|
||||||
server_name *.local;
|
|
||||||
|
|
||||||
ssl_certificate /etc/nginx/certs/local.crt;
|
|
||||||
ssl_certificate_key /etc/nginx/certs/local.key;
|
|
||||||
|
|
||||||
add_header X-Content-Type-Options nosniff;
|
|
||||||
add_header X-Frame-Options SAMEORIGIN;
|
|
||||||
add_header X-XSS-Protection "1; mode=block";
|
|
||||||
|
|
||||||
location / {
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
||||||
proxy_set_header X-Forwarded-Proto https;
|
|
||||||
proxy_http_version 1.1;
|
|
||||||
proxy_set_header Upgrade $http_upgrade;
|
|
||||||
proxy_set_header Connection $connection_upgrade;
|
|
||||||
proxy_read_timeout 300s;
|
|
||||||
proxy_send_timeout 300s;
|
|
||||||
proxy_pass http://$host:$upstream_port$request_uri;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
core_url="http://bitcoin.local:38332"
|
|
||||||
ws_url="sdk-relay1.local:8090"
|
|
||||||
wallet_name="default"
|
|
||||||
network="signet"
|
|
||||||
blindbit_url="http://blindbit-oracle.local:8000"
|
|
||||||
zmq_url="tcp://bitcoin.local:29000"
|
|
||||||
storage="https://sdk-storage.local/storage"
|
|
||||||
data_dir="/home/bitcoin/.4nk"
|
|
||||||
bitcoin_data_dir="/home/bitcoin/.bitcoin"
|
|
@ -1,9 +0,0 @@
|
|||||||
core_url="http://bitcoin.local:38332"
|
|
||||||
ws_url="sdk-relay2.local:8090"
|
|
||||||
wallet_name="default"
|
|
||||||
network="signet"
|
|
||||||
blindbit_url="http://blindbit-oracle.local:8000"
|
|
||||||
zmq_url="tcp://bitcoin.local:29000"
|
|
||||||
storage="https://sdk-storage.local/storage"
|
|
||||||
data_dir="/home/bitcoin/.4nk"
|
|
||||||
bitcoin_data_dir="/home/bitcoin/.bitcoin"
|
|
@ -1,9 +0,0 @@
|
|||||||
core_url="http://bitcoin.local:38332"
|
|
||||||
ws_url="sdk-relay3.local:8090"
|
|
||||||
wallet_name="default"
|
|
||||||
network="signet"
|
|
||||||
blindbit_url="http://blindbit-oracle.local:8000"
|
|
||||||
zmq_url="tcp://bitcoin.local:29000"
|
|
||||||
storage="https://sdk-storage.local/storage"
|
|
||||||
data_dir="/home/bitcoin/.4nk"
|
|
||||||
bitcoin_data_dir="/home/bitcoin/.bitcoin"
|
|
@ -1,33 +0,0 @@
|
|||||||
# Configuration sdk_signer - Module 4NK_node
|
|
||||||
|
|
||||||
# Ports
|
|
||||||
ws_port = 9090
|
|
||||||
http_port = 9092
|
|
||||||
|
|
||||||
# URLs des services
|
|
||||||
relay_urls = ["http://sdk-relay1.local:8091", "http://sdk-relay2.local:8093", "http://sdk-relay3.local:8095"]
|
|
||||||
storage_url = "http://sdk-storage.local:8081"
|
|
||||||
blindbit_url = "http://blindbit-core.local:8000"
|
|
||||||
bitcoin_rpc_url = "http://bitcoin.local:38332"
|
|
||||||
|
|
||||||
# Authentification Bitcoin
|
|
||||||
bitcoin_rpc_user = "bitcoin"
|
|
||||||
bitcoin_rpc_password = "bitcoin"
|
|
||||||
data_dir="/home/bitcoin/.4nk"
|
|
||||||
bitcoin_data_dir="/home/bitcoin/.bitcoin"
|
|
||||||
|
|
||||||
# Mode développement
|
|
||||||
dev_mode = true
|
|
||||||
debug_level = "info"
|
|
||||||
|
|
||||||
# Limites de connexions
|
|
||||||
max_connections = 100
|
|
||||||
timeout = 30
|
|
||||||
|
|
||||||
# Logging
|
|
||||||
log_level = "info"
|
|
||||||
log_file = "/home/bitcoin/logs/sdk_signer.log"
|
|
||||||
|
|
||||||
# Sécurité
|
|
||||||
enable_tls = false
|
|
||||||
enable_auth = false
|
|
@ -1,16 +0,0 @@
|
|||||||
# Configuration Tor pour 4NK_node (conteneur)
|
|
||||||
|
|
||||||
# Ports d\écoute
|
|
||||||
|
|
||||||
# Ports d\'écoute
|
|
||||||
SocksPort tor.local:9050
|
|
||||||
ControlPort tor.local:9051
|
|
||||||
|
|
||||||
# Répertoires
|
|
||||||
DataDirectory /var/lib/tor
|
|
||||||
|
|
||||||
# Logs (fichier monté par docker-compose)
|
|
||||||
Log notice file /var/log/tor/notices.log
|
|
||||||
|
|
||||||
# Exécution en avant-plan dans un conteneur
|
|
||||||
RunAsDaemon 0
|
|
@ -1,19 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
|
|
||||||
TORRC_PATH=/etc/tor/torrc
|
|
||||||
if [ ! -f "$TORRC_PATH" ]; then
|
|
||||||
mkdir -p /etc/tor
|
|
||||||
cat > "$TORRC_PATH" << 'EOF'
|
|
||||||
Log notice file /var/log/tor/notices.log
|
|
||||||
DataDirectory /var/lib/tor
|
|
||||||
SocksPort 0.0.0.0:9050
|
|
||||||
ControlPort 9051
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Ensure permissions for Tor data directories when running as root
|
|
||||||
chown -R 0:0 /var/lib/tor /var/log/tor /etc/tor 2>/dev/null || true
|
|
||||||
chmod -R a+rwX /var/lib/tor /var/log/tor /etc/tor 2>/dev/null || true
|
|
||||||
|
|
||||||
tor -f "$TORRC_PATH"
|
|
@ -1,15 +0,0 @@
|
|||||||
# Configuration Tor simple pour 4NK_node
|
|
||||||
# Écoute sur toutes les interfaces pour permettre la connexion depuis d'autres conteneurs
|
|
||||||
|
|
||||||
# Ports SOCKS et contrôle
|
|
||||||
SocksPort tor.4nk.local:9050
|
|
||||||
ControlPort tor.4nk.local:9051
|
|
||||||
|
|
||||||
# Répertoire de données
|
|
||||||
DataDirectory /var/lib/tor
|
|
||||||
|
|
||||||
# Logs sur stdout pour Docker
|
|
||||||
Log notice stdout
|
|
||||||
|
|
||||||
# Désactiver le mode daemon pour Docker
|
|
||||||
RunAsDaemon 0
|
|
@ -1,50 +0,0 @@
|
|||||||
# Configuration OVH
|
|
||||||
OVH_APP_KEY=
|
|
||||||
OVH_APP_SECRET=
|
|
||||||
OVH_CONSUMER_KEY=
|
|
||||||
OVH_SMS_SERVICE_NAME=sms-tt802880-1
|
|
||||||
|
|
||||||
# Configuration SMS Factor
|
|
||||||
SMS_FACTOR_TOKEN=
|
|
||||||
|
|
||||||
#Configuration Mailchimp
|
|
||||||
MAILCHIMP_API_KEY=
|
|
||||||
MAILCHIMP_KEY=
|
|
||||||
MAILCHIMP_LIST_ID=
|
|
||||||
|
|
||||||
#Configuration Stripe
|
|
||||||
STRIPE_SECRET_KEY=
|
|
||||||
STRIPE_WEBHOOK_SECRET=
|
|
||||||
STRIPE_STANDARD_SUBSCRIPTION_PRICE_ID=
|
|
||||||
STRIPE_STANDARD_ANNUAL_SUBSCRIPTION_PRICE_ID=
|
|
||||||
STRIPE_UNLIMITED_SUBSCRIPTION_PRICE_ID=
|
|
||||||
STRIPE_UNLIMITED_ANNUAL_SUBSCRIPTION_PRICE_ID=
|
|
||||||
|
|
||||||
# Configuration serveur
|
|
||||||
APP_HOST=http://coffre-back-mini.local
|
|
||||||
PORT=8080
|
|
||||||
|
|
||||||
# Configuration front-end
|
|
||||||
NEXT_PUBLIC_4NK_URL=http://ihm-client.local
|
|
||||||
NEXT_PUBLIC_FRONT_APP_HOST=http://coffre-front.local:3000
|
|
||||||
NEXT_PUBLIC_IDNOT_BASE_URL=https://qual-connexion.idnot.fr
|
|
||||||
NEXT_PUBLIC_IDNOT_AUTHORIZE_ENDPOINT=/IdPOAuth2/authorize/idnot_idp_v1
|
|
||||||
NEXT_PUBLIC_IDNOT_CLIENT_ID=
|
|
||||||
NEXT_PUBLIC_BACK_API_PROTOCOL=http
|
|
||||||
NEXT_PUBLIC_BACK_API_HOST=localhost
|
|
||||||
BACK_API_PORT=8080
|
|
||||||
BACK_API_ROOT_URL=/api
|
|
||||||
BACK_API_VERSION=/v1
|
|
||||||
|
|
||||||
# Configuration idnot
|
|
||||||
IDNOT_ANNUARY_BASE_URL='https://qual-api.notaires.fr/annuaire'
|
|
||||||
IDNOT_API_KEY=''
|
|
||||||
|
|
||||||
# Configuration PostgreSQL
|
|
||||||
DB_HOST=miniback-postgres.local
|
|
||||||
DB_PORT=5432
|
|
||||||
DB_NAME=miniback
|
|
||||||
DB_USER=miniback
|
|
||||||
DB_PASSWORD=minibackpassword
|
|
||||||
|
|
||||||
LOG_LEVEL="debug"
|
|
@ -1,10 +0,0 @@
|
|||||||
NEXT_PUBLIC_4NK_URL="http://ihm-client.local:3003"
|
|
||||||
NEXT_PUBLIC_FRONT_APP_HOST="http://coffre-front.local:3000"
|
|
||||||
NEXT_PUBLIC_IDNOT_BASE_URL="https://qual-connexion.idnot.fr"
|
|
||||||
NEXT_PUBLIC_IDNOT_AUTHORIZE_ENDPOINT="/IdPOAuth2/authorize/idnot_idp_v1"
|
|
||||||
NEXT_PUBLIC_IDNOT_CLIENT_ID=""
|
|
||||||
NEXT_PUBLIC_BACK_API_PROTOCOL=http://
|
|
||||||
NEXT_PUBLIC_BACK_API_HOST=localhost
|
|
||||||
NEXT_PUBLIC_BACK_API_PORT=8080
|
|
||||||
NEXT_PUBLIC_BACK_API_ROOT_URL=/api
|
|
||||||
NEXT_PUBLIC_BACK_API_VERSION=/v1
|
|
@ -1 +0,0 @@
|
|||||||
NEXT_PUBLIC_TARGET_ORIGIN=http://coffre-back-mini.local
|
|
@ -37,7 +37,7 @@ echo "🧪 Test de résolution DNS..."
|
|||||||
sleep 2
|
sleep 2
|
||||||
|
|
||||||
# Test des noms Docker
|
# Test des noms Docker
|
||||||
for hostname in "tor.4nk.local" "bitcoin.4nk.local" "coffre-front.4nk.local"; do
|
for hostname in "tor.4nk.4nk-local" "bitcoin.4nk.4nk-local" "coffre-front.4nk.4nk-local"; do
|
||||||
echo -n " Test $hostname: "
|
echo -n " Test $hostname: "
|
||||||
if nslookup -port=5353 "$hostname" 127.0.0.1 > /dev/null 2>&1; then
|
if nslookup -port=5353 "$hostname" 127.0.0.1 > /dev/null 2>&1; then
|
||||||
echo "✅ OK"
|
echo "✅ OK"
|
||||||
|
@ -2,18 +2,18 @@
|
|||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
hostnames=(
|
hostnames=(
|
||||||
tor.local
|
tor.modules.4nk-local
|
||||||
bitcoin.local
|
bitcoin.modules.4nk-local
|
||||||
blindbit-oracle.local
|
blindbit-oracle.modules.4nk-local
|
||||||
sdk-storage.local
|
sdk-storage.modules.4nk-local
|
||||||
sdk-relay1.local
|
i1.sdk-relay.4nk-local
|
||||||
sdk-relay2.local
|
i2.sdk-relay.4nk-local
|
||||||
sdk-relay3.local
|
i3.sdk-relay.4nk-local
|
||||||
sdk-signer.local
|
sdk-signer.4nk-local
|
||||||
ihm-client.local
|
ihm.client.modules.4nk-local
|
||||||
miniback-postgres.local
|
miniback-postgres.4nk-local
|
||||||
coffre-front.local
|
coffre-front.4nk-local
|
||||||
coffre-back-mini.local
|
coffre-back-mini.4nk-local
|
||||||
)
|
)
|
||||||
|
|
||||||
# Vérifier la résolution DNS via dnsmasq (127.0.0.1:5353)
|
# Vérifier la résolution DNS via dnsmasq (127.0.0.1:5353)
|
||||||
@ -26,14 +26,14 @@ for h in "${hostnames[@]}"; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
declare -A ports=(
|
declare -A ports=(
|
||||||
[bitcoin.local]=38332
|
[bitcoin.modules.4nk-local]=38332
|
||||||
[blindbit-oracle.local]=8000
|
[blindbit-oracle.modules.4nk-local]=8000
|
||||||
[sdk-storage.local]=8080
|
[sdk-storage.modules.4nk-local]=8080
|
||||||
[sdk-relay1.local]=8090
|
[i1.sdk-relay.4nk-local]=8090
|
||||||
[sdk-relay2.local]=8090
|
[i2.sdk-relay.4nk-local]=8090
|
||||||
[sdk-relay3.local]=8090
|
[i3.sdk-relay.4nk-local]=8090
|
||||||
[sdk-signer.local]=9090
|
[sdk-signer.4nk-local]=9090
|
||||||
[ihm-client.local]=80
|
[ihm.client.modules.4nk-local]=80
|
||||||
)
|
)
|
||||||
|
|
||||||
fail=0
|
fail=0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user