Documentation

Guides d'installation et configuration pour déployer TechSuivi.

Installation Docker

Notes de Configuration

  • Mots de passe : Changez impérativement tous les champs votre_... avant le déploiement.
  • Adresse IP : Configurez APP_URL avec l'IP réelle de votre serveur (ex: http://192.168.1.100).
  • Volumes : Les chemins des volumes sont donnés à titre indicatif, adaptez-les selon votre structure (Synology, QNAP, Linux...).

Standard (Web + DB)

version: '3'

services:
  web:
    image: techsuivi/web:latest
    container_name: ts_web
    ports:
      - "80:80"
    depends_on:
      - db
    environment:
      - DB_HOST=db
      - DB_NAME=techsuivi_db
      - DB_USER=techsuivi_user
      - DB_PASS=votre_password_ici
      - APP_URL=http://192.168.10.100  # Vérifiez votre IP
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      # Dossiers PERSISTANTS (Uploads, Documents...)
      - /share/Container/TechSuivi/uploads:/var/www/html/uploads
      # Volume interne pour les tokens VNC
      - ts_vnc_tokens:/var/www/html/vnc_tokens
    restart: always

  db:
    image: techsuivi/db:latest
    container_name: ts_db
    restart: always
    environment:
      - MARIADB_ROOT_PASSWORD=votre_root_password_ici
      - MARIADB_DATABASE=techsuivi_db
      - MARIADB_USER=techsuivi_user
      - MARIADB_PASSWORD=votre_password_ici
    volumes:
      - ts_db_data:/var/lib/mysql

  novnc:
    image: techsuivi/novnc:latest
    container_name: ts_novnc
    restart: unless-stopped
    network_mode: host
    volumes:
      # Le même volume DOCKER, en lecture seule
      - ts_vnc_tokens:/tokens:ro

volumes:
  ts_db_data:
  ts_vnc_tokens:

Avancé (Avec RustDesk intégré)

version: '3'

services:
  web:
    image: techsuivi/web:latest
    container_name: ts_web
    ports:
      - "80:80"
    depends_on:
      - db
    environment:
      - DB_HOST=db
      - DB_NAME=techsuivi_db
      - DB_USER=techsuivi_user
      - DB_PASS=votre_password_ici
      - APP_URL=http://192.168.10.100  # Vérifiez votre IP
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      # Dossiers PERSISTANTS
      - /share/Container/TechSuivi/uploads:/var/www/html/uploads
      # Volume Tokens
      - ts_vnc_tokens:/var/www/html/vnc_tokens
      # Volume Rustdesk (Lié à HBBS pour le Backup)
      - ts_rustdesk_data:/var/www/rustdesk_data
    restart: always

  db:
    image: techsuivi/db:latest
    container_name: ts_db
    restart: always
    environment:
      - MARIADB_ROOT_PASSWORD=votre_root_password_ici
      - MARIADB_DATABASE=techsuivi_db
      - MARIADB_USER=techsuivi_user
      - MARIADB_PASSWORD=votre_password_ici
    volumes:
      - ts_db_data:/var/lib/mysql

  novnc:
    image: techsuivi/novnc:latest
    container_name: ts_novnc
    restart: unless-stopped
    network_mode: host
    volumes:
      - ts_vnc_tokens:/tokens:ro

  # Configuration RUSTDESK (Serveur ID & Relay)
  hbbs:
    container_name: ts_hbbs
    image: rustdesk/rustdesk-server:latest
    environment:
      - ALWAYS_USE_RELAY=Y
    command: hbbs
    volumes:
      - ts_rustdesk_data:/root # Contient les clés publiques/privées (id_ed25519)
    network_mode: "host"
    depends_on:
      - hbbr
    restart: unless-stopped

  hbbr:
    container_name: ts_hbbr
    image: rustdesk/rustdesk-server:latest
    command: hbbr
    volumes:
      - ts_rustdesk_relay:/root
    network_mode: "host"
    restart: unless-stopped

volumes:
  ts_db_data:
  ts_vnc_tokens:
  ts_rustdesk_data: # Backup géré par TechSuivi
  ts_rustdesk_relay: