CloudTAK est le successeur natif web du serveur TAK Java hérité — une application Node.js qui apporte l'écosystème ATAK et WinTAK à n'importe quel navigateur sans nécessiter Java côté client ni une gestion complexe des keystores. Là où le serveur TAK hérité était une lourde application Java EE conçue pour les centres de données de garnison, CloudTAK est orienté conteneur, REST-natif et déployable sur une seule VM cloud en moins d'une heure. Ce guide couvre le chemin complet d'un serveur nu à une infrastructure TAK durcie et prête pour la production — y compris l'intégration avec le copilote IA TAKpilot de Corvus Intelligence.
Qu'est-ce que CloudTAK et en quoi diffère-t-il du serveur TAK hérité
Le serveur TAK hérité a été conçu comme une application Java EE exposant la fédération CoT sur TCP/TLS. Son exploitation nécessite Java 11+, un keystore Java (.jks) et soit Tomcat, soit un JAR autonome. CloudTAK est écrit en TypeScript/Node.js, stocke les données dans PostgreSQL avec PostGIS et expose toutes les fonctionnalités via une API REST. L'interface web est un client TAK entièrement fonctionnel — les opérateurs peuvent visualiser et interagir avec la situation tactique depuis n'importe quel navigateur.
- Client TAK natif navigateur — aucune installation ATAK ou WinTAK requise.
- API REST en premier — toutes les opérations sont pilotées par API.
- Déploiement orienté conteneur — un seul fichier Docker Compose, aucun runtime Java.
- Compatibilité complète ATAK/WinTAK — les clients se connectent sur le port 8089 TCP/TLS sans modification.
Prérequis : infrastructure, domaines et ports
Exigences serveur
Déploiement minimal (100 clients simultanés) : 2 vCPUs, 4 Go de RAM, 20 Go SSD, Ubuntu 22.04 LTS ou RHEL 9, Docker Engine 24+, Docker Compose v2, IP statique ou enregistrement DNS A.
Exigences en termes de ports
| Port | Protocole | Fonction |
|---|---|---|
8089 | TCP/TLS | Flux CoT — connexions clients ATAK et WinTAK |
8443 | HTTPS | Interface web, API REST, flux WebSocket |
8446 | HTTPS | Flux de données TAK et distribution de packages de mission |
9000 | TCP/TLS | Fédération avec d'autres instances de serveur TAK (si utilisé) |
Déploiement Docker Compose étape par étape
Créez les répertoires et copiez les certificats TLS dans /opt/cloudtak/ssl/. Créez /opt/cloudtak/.env avec CLOUDTAK_DOMAIN, POSTGRES_PASSWORD, CLOUDTAK_ADMIN_PASSWORD, CLOUDTAK_JWT_SECRET et les paramètres de performance. Créez docker-compose.yml avec les services postgres et cloudtak comme indiqué dans le guide EN.
Démarrez la pile avec docker compose up -d et suivez les journaux avec docker compose logs -f cloudtak.
Configuration : packages de données, utilisateurs et fédération
Générez les packages de données clients via Admin → Connexions → Générer un package ou l'API REST à POST /api/package/generate. CloudTAK prend en charge les comptes locaux, LDAP/Active Directory et l'authentification mTLS par certificat. Configurez les liens de fédération via POST /api/federation.
Durcissement : épinglage TLS, pare-feu, authentification et journalisation d'audit
Note de sécurité opérationnelle : Une instance CloudTAK avec des identifiants par défaut, un certificat auto-signé et des ports ouverts constitue une vulnérabilité de renseignement significative. Effectuez toutes les étapes de durcissement avant de connecter des appareils de terrain.
Activez l'épinglage de certificat en définissant "pin_ca": true dans le générateur de packages de données. Restreignez les règles entrantes du pare-feu pour n'autoriser les ports 8089/8443/8446 qu'à partir des plages IP clientes connues. Activez mTLS avec CLOUDTAK_MTLS=true. Activez la journalisation d'audit avec CLOUDTAK_AUDIT_LOG=true et envoyez les journaux vers votre SIEM.
Intégration du copilote IA TAKpilot
TAKpilot est le copilote IA de Corvus Intelligence pour les opérations tactiques basées sur TAK. Ajoutez le service takpilot à votre pile Docker Compose avec les variables d'environnement CLOUDTAK_API_URL, CLOUDTAK_WS_URL, CLOUDTAK_API_TOKEN et TAKPILOT_API_KEY. TAKpilot s'abonne au flux d'événements CoT et publie les résultats dérivés de l'IA en retour comme événements CoT avec le préfixe d'indicatif AI-.
Optimisation des performances
Définissez DB_POOL_MAX à 20–30 % du nombre de clients simultanés attendu. Augmentez max_connections dans PostgreSQL en conséquence. Augmentez CLOUDTAK_COT_RATE_LIMIT à 500–1000 pour l'intégration UAV. Ajustez COT_RETENTION_HOURS selon les besoins opérationnels et de stockage.
Problèmes courants et dépannage
Échec de connexion : Vérifiez que le port 8089 est ouvert avec nc -zv tak.yourdomain.com 8089. TLS rejeté : Vérifiez le SAN avec openssl x509 -in ssl/fullchain.pem -text | grep -A1 "Subject Alternative". Pool DB épuisé : Augmentez DB_POOL_MAX et max_connections. Événements absents des clients : Vérifiez la synchronisation NTP. TAKpilot silencieux : Consultez docker compose logs takpilot et vérifiez la portée du jeton cot:write.