lecoffre_node/docs/REX_Deployment_Success.md

5.0 KiB

REX - Déploiement LeCoffre Réussi

Date

21 septembre 2025

Résumé

Déploiement complet et réussi de l'écosystème LeCoffre selon les consignes strictes du document deploy.md.

Projets déployés avec succès

Projets avec Dockerfiles

  • sdk_relay (Debian-based) - Port 8090-8091
  • sdk_signer (Alpine-based) - Port 9090
  • sdk_storage - Port 8081
  • ihm_client (Alpine-based) - Port 3003
  • lecoffre-back-mini (Alpine-based) - Port 8080
  • lecoffre-front (Alpine-based) - Port 3004

Projets sans Dockerfiles

  • sdk_common - Dépendance partagée
  • sdk_client - Dépendance partagée
  • sdk-signer-client - Dépendance partagée

Corrections apportées

Problème Alpine Linux - Package cscope

Erreur rencontrée :

ERROR: unable to select packages:
  cscope (no such package):
    required by: world[cscope]

Solution appliquée : Suppression du package cscope des Dockerfiles Alpine Linux car ce package n'existe pas dans les dépôts Alpine.

Fichiers corrigés :

  • /home/debian/sdk_signer/Dockerfile
  • /home/debian/ihm_client/Dockerfile
  • /home/debian/lecoffre-back-mini/Dockerfile
  • /home/debian/lecoffre-front/Dockerfile

Services en cours d'exécution

Infrastructure de base

  • bitcoin-signet - Nœud Bitcoin Signet
  • blindbit-oracle - Oracle BlindBit
  • tor-proxy - Proxy Tor
  • signet_miner - Mineur Signet

Services LeCoffre

  • sdk_relay - Relais des transactions (8090-8091)
  • sdk_signer - Service de signature (9090)
  • sdk_storage - Stockage temporaire (8081)
  • ihm_client - Interface utilisateur (3003)
  • lecoffre-back - Backend API (8080)
  • lecoffre-front - Frontend Next.js (3004)

Monitoring

  • grafana - Tableau de bord (3005)
  • loki - Système de logs (3100)
  • promtail - Collecteur de logs

Services auxiliaires

  • status-api - API de statut (3006)
  • watchtower - Surveillance des conteneurs

Tests de connectivité réussis

URLs publiques

Services locaux

Configuration Git

Branches poussées avec succès

  • lecoffre_nodegit.4nkweb.com/4nk/lecoffre_node:ext
  • sdk_relaygit.4nkweb.com/4nk/sdk_relay:ext
  • sdk_signergit.4nkweb.com/4nk/sdk_signer:ext
  • ihm_clientgit.4nkweb.com/4nk/ihm_client:ext
  • lecoffre-back-minigit.4nkweb.com/4nk/lecoffre-back-mini:ext
  • lecoffre-frontgit.4nkweb.com/4nk/lecoffre-front:ext

Messages de commit

ci: docker_tag=ext - Fix Alpine Dockerfiles and add deployment documentation
ci: docker_tag=ext - Update Dockerfile with comprehensive build tools
ci: docker_tag=ext - Fix Alpine Dockerfile - remove cscope package

Sécurité et conformité

Vérifications effectuées

  • Aucun secret hardcodé dans le code
  • Fichiers .env exclus du versioning
  • Fichiers ignore configurés correctement
  • Configurations centralisées dans lecoffre_node/conf

Fichiers ignore créés/vérifiés

  • .gitignore - Exclusion des fichiers sensibles
  • .dockerignore - Optimisation des builds Docker
  • .cursorignore - Exclusion des fichiers pour Cursor

Architecture de déploiement

Flux de redirection

  1. https://dev4.4nkweb.com/lecoffrelocal.4nkweb.comhttps://dev4.4nkweb.com/lecoffre
  2. Ouverture iframe https://dev4.4nkweb.com/ (ihm_client)

Ports et services

  • Relais : 8090-8091
  • Signer : 9090
  • Bootstrap : dev3.4nkweb.com
  • Frontend : 3004
  • Backend : 8080
  • Storage : 8081
  • IHM Client : 3003
  • Grafana : 3005
  • Status API : 3006

Leçons apprises

Dockerfiles

  1. Vérifier la compatibilité des packages avec la distribution Linux
  2. Alpine Linux : apk - certains packages n'existent pas
  3. Debian Linux : apt-get - plus de packages disponibles
  4. Tester les builds avant de pousser sur Git

Déploiement

  1. Séquence de démarrage : tor → bitcoin → blindbit → storage → relay → signer → ihm_client
  2. Monitoring : Grafana + Loki + Promtail configurés
  3. Sécurité : Aucun secret exposé, configurations externalisées
  4. Git : Branche ext pour tous les projets

Statut final

🎉 DÉPLOIEMENT COMPLET ET RÉUSSI

Tous les services sont opérationnels, les tests de connectivité passent, et l'architecture respecte les spécifications du document deploy.md.