Fichiers d'environnement par membre · Isolation de l'espace de travail · Acceptation enregistrable · Déploiement en six étapes · Transfert du pool Mac
Responsables de la plateforme exécutant une passerelle OpenClaw 24h/24 et 7j/7 pour une petite équipe J'entends chaque semaine la même question : pouvons-nous la partager ? Oui, mais si les clés de modèle, les jetons de canal et les chemins d'espace de travail se trouvent dans un seul .env non audité, la prochaine mauvaise configuration se transforme en une panne totale. Cet article répond qui a quel problème (accès multi-utilisateurs, rotation des clés, propriété peu claire), donne alors un conclusion : traitez le partage comme compartiments (racines de fichier env_file séparées, répertoires de données et tables de ports) plus moindre privilège plus acceptation des journaux segmentés. Vous obtiendrez points douloureux, une matrice de sélection, un runbook en six étapes, des paramètres concrets et une matrice d'approbation. Pour les échecs CLI au niveau de l’espace de noms, lisez Composer un triage réseau; pour les limites de mémoire et la rotation des journaux, voir Composer la ligne de base de production; pour une deuxième pile sur le même hôte, voir isolement multi-instance; pour l'exposition des canaux, voir liste de contrôle de durcissement en production; pour l'installation, utilisez la parité linguistique liste de contrôle d'installation et du médecin; pour une utilisation dédiée de la capacité Mac page de commande.
Le partage n’est pas la même chose que coller la clé d’administrateur dans une discussion de groupe. Lorsque chaque ingénieur exporte localement les mêmes noms de variables ou que CI code en dur un chemin, vous obtenez un processus Gateway et N vérités contradictoires. Ces cinq modèles ont dominé les fils de support de 2026 ; les transformer en règles écrites vaut mieux acheter plus de calcul.
Clés couplées aux espaces de travail : stocker les clés du fournisseur à côté des secrets de canal dans un seul niveau de dépôt .env Cela signifie qu'une validation erronée force une rotation de la flotte et que les journaux indiquent rarement quelle CLI a effectué la dernière écriture.
Matrice de liaison et de port manquante : une pile intermédiaire s'empare des ports adjacents, la production semble saine, mais les contrôles de santé touchent le mauvais processus ; les astreintes reviennent pour redémarrer la roulette.
Listes autorisées de canaux et sortie réelle : certains membres sortent via un mandataire d'entreprise, d'autres utilisent le haut débit à domicile ; allowedOrigins peut couvrir une seule forme, donc seule Alice travaille alors que Bob voit toujours 403, lu à tort comme RBAC.
Aucune langue d'acceptation du compartiment : les critiques de lancement demandent « peut-il envoyer un message ? mais jamais « chaque membre monte-t-il un env_file et une division de sauvegarde distincts ? » La conformité demande des preuves le lendemain et l’équipe n’en a aucune.
Dérive du chemin de transfert du pool Mac : Gateway vit sur un VPS tandis que les versions lourdes s'exécutent sur des Mac distants ; sans une feuille de topologie pour les noms d'hôtes SSH, les DNS privés et les rappels entrants, les webhooks s'effondrent et les équipes augmentent à tort les délais d'attente des modèles.
Associez les taxes aux livrables : table des ports, carte env_file, liste d'origine des canaux, jeu de sauvegarde minimal et une plus petite commande de sonde de canal. Sans ces cinq artefacts, n’ajoutez pas de nouveaux membres au profil de production. Cela semble bureaucratique ; c'est ainsi que la connaissance tacite devient une configuration différentiable.
Ajoutez une perspective organisationnelle : les passerelles partagées changent plus souvent que les homelabs solo. Les critiques doivent passer des « longs métrages » aux rollbackable, bissectable et handoffable. Chaque modification doit répertorier les anciennes valeurs par rapport aux nouvelles, les membres concernés et une fenêtre de restauration telle que des clés à double écriture pendant N heures.
Enfin, partager n’est pas partager la racine. Même avec un seul hôte Docker, utilisez des volumes nommés, des ACL de sous-répertoire et des montages en lecture seule pour épingler limites de l'espace de travail accessible en écriture; sinon, une suppression erronée supprime à la fois l’état de la session de production et celui de la session intermédiaire. Lire Isolement de COMPOSE_PROJECT_NAME pour éviter les pièges « deux fichiers de composition, un point de montage ».
Une fois que les taxes sont devenues des listes de contrôle, les équipes posent la question honnête suivante : des passerelles séparées par personne, ou une passerelle avec des compartiments ? La section suivante place le coût, l'exposition et la charge opérationnelle sur la même page d'évaluation.
Il n’y a pas de réponse universelle, seulement une réponse adaptée taille de l'équipe, conformité et nombre de points de terminaison et de webhooks TLS que vous souhaitez exploiter. Imprimez la matrice : choisissez une valeur par défaut pour le trimestre et rédigez une note de bas de page indiquant le moment où vous devez passer au niveau suivant.
| Mode | Quand ça convient | Principal avantage | Coût principal |
|---|---|---|---|
| Passerelle par membre | Jusqu'à trois personnes, isolement strict ou règles d'une seule piste d'audit par humain | Le plus petit rayon de souffle ; les rotations ne se produisent pas en cascade | CPU, RAM, webhooks dupliqués, plusieurs cycles de vie TLS |
| Passerelle unique, clés compartimentées | Cinq à quinze personnes, domaine de rappel partagé, tableaux de bord unifiés | Concentrés de surface d'opérations ; les mesures s'alignent | Nécessite une séparation stricte des fichiers env_file et des répertoires, sinon la dérive explose |
| Passerelle unique, volumes basés sur les rôles | Les équipes de plate-forme par rapport aux équipes produit ont besoin d'une consommation en écriture plutôt qu'en lecture seule | Moins d'installations ; un seul endroit pour appliquer les listes de contrôle de durcissement | Les autorisations de volume et les montages CI deviennent subtils ; les critiques doivent être plus fines |
Le partage ne fonctionne que lorsque chaque différence correspond à un fichier remplaçable, et non à des valeurs par défaut mutables partagées; sinon, vous obtenez des économies d'échelle pour les incidents, pas pour le débit.
Si vous atterrissez sur une seule passerelle avec des compartiments, définissez un compartiment comme triple vérifiable par machine: COMPOSE_PROJECT_NAME, montage du répertoire de données et par membre env_file. Si vous ne pouvez pas le décrire en trois lignes, le compartiment n’est pas encore réel.
L'observabilité la moins chère en premier ; arrêter et enregistrer les sorties lorsqu'une étape échoue. Si les noms des champs de l'assistant diffèrent, effectuez un rapprochement avec liste de contrôle d'installation et du médecin.
Congelez le squelette : racines séparées pour la production et la préparation, README interdit les liens symboliques croisés, choisissez des volumes nommés ou liez les montages et la version, le choix.
Diviser le fichier env : référence (écoute, niveau de journalisation) par rapport aux secrets des membres (modèles et canaux) ; CI injecte des jetons en lecture seule et n'écrit jamais sur l'hôte.
Vérifiez la table des ports : les ports publiés, les liaisons dans le conteneur et le pare-feu hôte doivent être triangulés ; recoupez-vous avec l'arbre des symptômes dans Composer un triage réseau.
Sonde à canal minimal : chaque membre exécute l'envoi-réception avec l'origine de sa CLI ou de son navigateur, capture les horodatages et les identifiants de demande ; chaque 403 doit inclure un diff d'origine.
Exercice de sauvegarde : exportez le plus petit ensemble restaurable (config plus politique de session), démarrez à froid lors du transfert, écrivez les numéros RTO et RPO dans la note de bas de page de modification.
Forfait de garde : laissez trois commandes : openclaw doctor, les deux cents dernières lignes de journal de la passerelle et l'état du canal ; le prochain intervenant ne doit pas avoir besoin de discussions privées.
/srv/openclaw/
prod/
compose.yaml
env/
base.env
alice.env
bob.env
data/
staging/
compose.yaml
env/
base.env
alice.staging.env
data/
Astuce : si vous avez besoin d'une deuxième pile parallèle sur un hôte, lisez isolement multi-instance pour les tables portuaires et COMPOSE_PROJECT_NAME, puis fusionnez-le dans ce runbook.
Seules les déclarations que vous pouvez indiquer dans la configuration, pas les vibrations. Pour les limites de mémoire et la rotation des fichiers json, utilisez Composer la ligne de base de production.
18789 comme contexte de plan de contrôle local par défaut ; l'approbation doit indiquer l'adresse de liaison, le chemin du proxy inverse et si l'interface utilisateur est accessible sur Internet, pas seulement le nombre entier.Attention : ne faites pas alterner les clés de modèle, les jetons de canal et les certificats TLS dans un seul ticket ; les changements triangulaires rendent la restauration non bissecable. Pour les chemins TLS, lisez Guide TLS du proxy inverse.
Mise à niveau de l'acceptation d'une démo vers langage de conformité coché : refus par défaut, autorisation explicite, restauration prête. Si une ligne ne peut pas être vérifiée, restez sur un profil interne.
| Vérifier | Critères de réussite | Signal de panne typique |
|---|---|---|
| Compartiments à clés | Par membre env_file, CI utilise l'injection en lecture seule | Partagé .env dans l'historique git ou les secrets collés |
| Exposition | Plan de contrôle non directement accessible depuis l'Internet public, ou limité via des listes autorisées ou mTLS | Les analyses trouvent des tableaux de bord non authentifiés sur 0.0.0.0 |
| Observabilité | 403 ou les délais d'attente sont mappés aux origines, au bord ou en amont dans un délai de cinq minutes | Piles sans identifiants de requête |
S'appuyer sur la carte mentale d'un ingénieur héros garantit la douleur lors du turnover ; traiter les runbooks et les tables de port comme des actifs de référentiel est la façon dont les agents d'IA passent du statut de jouet à celui d'infrastructure.
Erreur courante : faites pivoter les clés de modèle au premier 403 ; la plupart des incidents nécessitent d’abord une matrice d’origine et de sortie.
Les hacks shell temporaires sans listes écrites survivent rarement aux audits ; lorsqu'OpenClaw doit être décrit avec la sortie fixe, les noms d'hôte et la topologie de maillage privé, Les piles VPS ad hoc manquent souvent d'enregistrements de modifications signifiables. Pour les builds iOS, le transfert de bureau et les agents toujours actifs dans un exclusif, prévisible en fonction de la région empreinte où les pools Gateway et Mac partagent un vocabulaire, La location cloud VpsMesh Mac Mini est généralement la meilleure solution : les nœuds dédiés simplifient les liaisons et les récits ACL et s'alignent sur runbook de maillage privé; le prix est activé page de tarification, connectivité activée centre d'aide.
Publier une matrice de port et de liaison, propriété du répertoire de données avec COMPOSE_PROJECT_NAME, et un par membre env_file carte. Mettez à jour la table avant d'exécuter des commandes. Pour les articles durcissants, voir liste de contrôle de durcissement en production.
Fenêtre à double écriture : ajoutez la nouvelle clé dans un env_file séparé, validez les canaux lors de la préparation, changez les références de composition de production, conservez une fenêtre de restauration, puis exécutez openclaw doctor et une sonde minimale. Commandes et besoins de sortie : page de commande.
Alignez les horodatages pour séparer l'authentification Edge de l'application allowedOrigins. Si un seul membre échoue, vérifiez l'origine ou la sortie de cet membre par rapport à la liste autorisée, puis lisez Composer un triage réseau et centre d'aide.