01/Documentation
Installer Collie
Le point d'accès nécessaire, puis l'installation pour votre système : Linux, Arch et Omarchy, Nix, macOS, Windows ou en tant que plugin Herdr. Couvre le premier lancement, la configuration sur un téléphone iPhone ou Android, les mises à jour et la désinstallation
Installez Collie sur votre système, lancez-le et installez-le sur votre téléphone. Lisez d'abord Sécurité : Collie expose par conception un accès shell distant à votre machine.
Avant de commencer
Collie nécessite un point d'accès : un composant qui le sert en HTTPS et vous en restreint l'accès.
Le point d'accès par défaut est Tailscale. collie start exécute tailscale serve pour vous, et votre téléphone accède à Collie via votre tailnet, votre réseau privé Tailscale. Le reste de cette page suppose l'utilisation de Tailscale. Pour utiliser à la place un proxy d'identité, un reverse proxy, Cloudflare Tunnel ou NetBird, consultez Points d'entrée, un produit à la fois.
Avec Tailscale, préparez trois éléments :
- Ajoutez l'hôte à votre tailnet en y installant Tailscale puis en exécutant
tailscale up. - Activez les certificats HTTPS pour le tailnet en ouvrant la console d'administration et en sélectionnant Activer HTTPS.
- Ajoutez le téléphone au même tailnet en installant l'application Tailscale et en vous connectant au même compte.
collie start se termine avec une erreur si HTTPS est désactivé. Le téléphone nécessite également HTTPS pour installer Collie sur l'écran d'accueil et recevoir les notifications Web Push.
Deux façons de l'exécuter
Chaque Collie appartient à l'un des deux types, et chaque commande sur cette page est indiquée une fois pour chacun. Choisissez votre colonne et conservez-la pour le reste de la documentation.
| Plugin Herdr | Autonome | |
|---|---|---|
| Vous avez installé avec | herdr plugin install AltanS/collie ou herdr plugin link | Le script d'installation, une compilation depuis les sources ou un paquet |
| Comment savoir | herdr plugin list affiche herdr.collie | collie est dans votre PATH, ou réside dans ~/.local/share/collie/current/bin/collie |
| Les verbes s'écrivent | herdr plugin action invoke <verb> --plugin herdr.collie | collie <verb> |
| Qui le met à jour | L'action update | collie update, ou votre gestionnaire de paquets |
Config .env | ~/.config/herdr/plugins/config/herdr.collie/.env (herdr plugin config-dir herdr.collie l'affiche) | ~/.config/collie/.env, ou le chemin Herdr sur un hôte qui exécute Herdr |
| État | ~/.local/state/collie/ | ~/.local/state/collie/ |
collie doctor indique les fichiers de configuration que cette installation lit réellement, sous sa ligne config-file.
Un plugin Herdr reste le même binaire collie ; les actions lui sont transmises (Actions Herdr). Une installation sous forme de plugin ne place pas collie dans votre PATH, les verbes sans action (pair, qr, logs, link, devices, stt, config) s'exécutent donc depuis le répertoire du plugin avec bin/collie <verb>.
Herdr est aussi l'un des cinq multiplexeurs que Collie peut répliquer (Herdr, tmux, zellij, tuios et tern). Le choix du multiplexeur répliqué est distinct (Nommez votre multiplexeur) : un Collie autonome peut répliquer Herdr, et un plugin Herdr peut répliquer tmux.
Prérequis
Collie fonctionne sur Linux et macOS. Windows 11 sur x64 avec Herdr est un hôte pris en charge, encore marqué comme expérimental ; voir Prise en charge de Windows.
| Outil | Requis pour | Rôle |
|---|---|---|
curl, tar, outil sha256 (sha256sum/shasum) | Script d'installation binaire et mises à jour | Télécharger et vérifier les archives de version. |
| Bun | Builds depuis les sources | Exécuter le pont et compiler l'interface web. |
| git | Builds depuis les sources et routes Herdr | Cloner et mettre à jour le dépôt. |
| Multiplexeur : Herdr, tmux, zellij, tuios ou tern | Toutes les installations | Backend répliqué configuré via COLLIE_MUX. tmux et zellij sont expérimentaux en version 1.0, de même que tuios et tern ; consultez Pointer Collie vers un multiplexeur et MUX_CONTRACT.md. |
| Herdr ≥ 0.7.0 | Backend Herdr uniquement | Requis lorsque COLLIE_MUX=herdr. Vérifiez avec herdr --version. |
| Tailscale | Le point d'accès par défaut | tailscale serve relaie Collie vers votre tailnet. Inutile derrière un autre point d'accès. |
Remarque. Collie n'impose aucune version minimale pour tmux ou zellij. Les adaptateurs ont été testés avec tmux 3.4, tmux 3.6b et zellij 0.44.2. Un cas particulier de tmux est pris en charge : sur un serveur utilisantwindow-size manual, tmux plante lors de la création d'une fenêtre avec une version antérieure à 3.7. Collie bloque la requête et vous invite à exécutertmux set -g window-size latest.
Dépendances optionnelles, nécessaires uniquement pour ces fonctionnalités :
| Outil | Requis pour |
|---|---|
| Node.js | Formate les noms MagicDNS dans les journaux. |
| systemd / launchd | Supervision de services ; bascule sur nohup en cas de repli. |
web-push | Facultatif, consultez Web Push. |
Installer
Trouvez votre système ci-dessous, exécutez ses commandes, puis passez à Démarrez-le.
| Système | Méthode recommandée |
|---|---|
| Linux | Le script d'installation |
| Arch Linux, Omarchy | Paquet collie-bin |
| NixOS, ou Nix sur tout système | Paquet Flake |
| macOS, Apple Silicon ou Intel | Le script d'installation |
| Windows 11 (x64, avec Herdr) | install.ps1, expérimental |
| N'importe lequel de ces systèmes, dans Herdr | Plugin Herdr |
Linux
curl -fsSL https://colliepwa.dev/install.sh | sh
collie startLe script installe un binaire précompilé pour x86_64 ou arm64. Autonome détaille ses actions et la méthode pour figer une version.
collie start exécute le bridge en tant que service systemd --user. Il s'arrête lorsque vous vous déconnectez. Sur un serveur accessible par SSH, maintenez-le en fonction après la déconnexion et les redémarrages :
loginctl enable-linger $USERConsultez Persistance aux redémarrages pour plus de détails.
Arch Linux et Omarchy
git clone https://github.com/AltanS/collie.git && cd collie/packaging/aur
makepkg -si
collie startcollie-bin n'est pas encore sur l'AUR ni dans le dépôt d'Omarchy. Pour l'instant, compilez-le à partir de PKGBUILD dans ce dépôt. Il télécharge le binaire précompilé sans rien compiler. Une fois publié, sudo pacman -S collie-bin (Omarchy) ou paru -S collie-bin (AUR) remplace le clone.
Omarchy inclut tmux et Herdr. Vous devez désigner celui à répliquer au premier démarrage, par exemple COLLIE_MUX=herdr collie start. Arch et Omarchy sous « Package details » décrivent la structure, les mises à jour et la suppression.
NixOS et Nix
nix profile install github:AltanS/collie#collie
collie startCela fonctionne sur NixOS et sur tout système équipé de Nix sous x86_64-linux, aarch64-linux et aarch64-darwin. Il n'existe pas encore de module NixOS. Nix sous « Package details » détaille le reste.
macOS
curl -fsSL https://colliepwa.dev/install.sh | sh
collie startLes binaires Mac publiés prennent en charge Apple Silicon (macos-arm64) et Intel (macos-x64), et nécessitent macOS 13 ou plus récent, la version minimale liée par leur build Bun. Le binaire Intel utilise la cible baseline de Bun, il fonctionne donc aussi sur les Mac sans AVX2.
collie start enregistre un agent launchd dans ~/Library/LaunchAgents. Il lance Collie à la connexion et le redémarre en cas d'échec. Il exécute également tailscale serve, la commande tailscale doit donc se trouver sur votre PATH. L'application Tailscale pour Mac peut installer cette commande depuis ses paramètres.
Remarque. Un Mac accessible uniquement par SSH n'a pas de session de connexion pour launchd. collie start le signale et exécute le bridge en arrière-plan sans supervision : aucun redémarrage en cas d'échec, rien à la connexion.macOS n'a pas encore de paquet. mise fonctionne sur un Mac, tout comme la sortie de aarch64-darwin Nix.
Prise en charge de Windows (expérimentale)
Expérimental. L'installation a été testée avec la version publique v1.16.0 sur une machine virtuelle Windows 11, et la mise à jour a été répétée avec des copies locales des fichiers de version. L'accès depuis un téléphone en HTTP via Tailscale Serve a également été exécuté. Une mise à jour entre deux versions réelles et l'accès depuis un téléphone en HTTPS ne sont pas encore testés. La vérification de version exige désormais le zip Windows. Seul le mainteneur peut passer outre, pour un correctif Linux. « Pris en charge » signifie que le mainteneur gère le code et le teste ; le statut reste « expérimental » tant que les conditions de la page Windows ne sont pas toutes remplies. Collie sur Windows contient la page complète.
Exécutez install.ps1. Il ne nécessite ni Bun, ni Git, ni bash :
irm https://colliepwa.dev/install.ps1 | iexPour lire d'abord le script, enregistrez-le, ouvrez-le et exécutez-le sous forme de fichier :
Invoke-WebRequest -OutFile install.ps1 https://colliepwa.dev/install.ps1
notepad install.ps1
powershell -ExecutionPolicy Bypass -File .\install.ps1Ouvrez ensuite un nouveau terminal et lancez Herdr. Herdr s'approprie ce terminal, ouvrez donc un second terminal ou un volet Herdr et exécutez-y collie start. De zéro au téléphone détaille chaque étape, y compris comment ouvrir Collie sur votre téléphone.
À savoir avant de commencer :
- Windows 11 sur x64, avec Herdr uniquement. tmux, zellij, Windows 10 et Windows sur ARM ne sont pas pris en compte.
- Le binaire n'est pas signé. SmartScreen peut demander confirmation avant l'exécution, et Smart App Control peut la bloquer. Page Windows.
- Vous publiez vous-même l'adresse. Sur Linux et macOS,
collie startexécutetailscale servepour vous. Sur Windows, ce n'est pas le cas, vous devez donc l'exécuter manuellement : Y accéder depuis votre téléphone détaille la procédure avec Tailscale, et Variante C couvre un reverse proxy. - Une machine Windows ne peut pas rejoindre une crew dans cette version.
- Un build depuis les sources requiert le
bashde Git for Windows. Le zip ne requiert aucune chaîne d'outils. - Une copie de travail des sources ne se met jamais à jour automatiquement sur Windows. Passer à l'installation par le zip est une étape manuelle unique :
collie uninstall, puisinstall.ps1. Ensuite,collie updatefonctionne. Update contient les détails.
Autonome
Le script d'installation télécharge la dernière version dans ~/.local/share/collie (COLLIE_DIR) et crée un lien vers le binaire dans ~/.local/bin/collie :
curl -fsSL https://colliepwa.dev/install.sh | sh
collie startIl télécharge la version stable la plus récente et ne modifie pas une installation existante. Pour en mettre une à jour, utilisez collie update. La source canonique est scripts/install.sh dans le dépôt : une page de sh POSIX qui n'appelle jamais sudo. Lisez-le avant de l'exécuter :
curl -fsSL https://raw.githubusercontent.com/AltanS/collie/main/scripts/install.sh | less
curl -fsSL https://raw.githubusercontent.com/AltanS/collie/main/scripts/install.sh | shSi ~/.local/bin n'est pas dans votre PATH, exécutez directement le binaire :
~/.local/share/collie/current/bin/collie versionPour figer une version ou réparer une installation existante (voir Si collie ne s'exécute pas) :
curl -fsSL https://colliepwa.dev/install.sh | COLLIE_TAG=v1.0.0 shLe script interroge l'API GitHub pour obtenir les versions, ce qui applique une limite de requêtes par adresse IP. S'il renvoie HTTP 403, figez la version comme indiqué ci-dessus ou définissez GH_TOKEN sur un jeton sans permissions. Consultez Si GitHub applique une limite de débit à la vérification des versions.
Pour les préversions, passez --beta. Cela sélectionne la préversion la plus récente, puis l'installation suit les préversions de cette version majeure jusqu'à la sortie de la version finale (Préversions).
Le même résultat, depuis les sources
# 1. Clone and checkout latest stable tag
git clone https://github.com/AltanS/collie.git ~/.local/share/collie
cd ~/.local/share/collie
git checkout --detach "$(git tag --list 'v*' | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | sort -V | tail -1)"
# 2. Build runtime and UI
bash scripts/collie-ctl.sh build
# 3. Verify
bin/collie version
# 4. Optional: link to PATH
bin/collie linkUne compilation depuis les sources nécessite Bun et git. Démarrez-la avec bin/collie start, ou collie start après l'avoir liée.
Plugin Herdr
herdr plugin install AltanS/collie
herdr plugin action invoke start --plugin herdr.collieDémarrez d'abord le serveur Herdr (herdr ou herdr server &). Cela fonctionne sous Linux et macOS.
Pour plutôt installer depuis un clone local :
git clone https://github.com/AltanS/collie.git && cd collie
herdr plugin link "$(pwd)"
herdr plugin action invoke start --plugin herdr.colliePour une préversion, installez le tag avec herdr plugin install AltanS/collie --ref <tag> --yes. C'est la seule activation nécessaire (Préversions).
À partir d'un paquet
Un paquet est une installation autonome gérée par votre gestionnaire de paquets : il installe, met à jour et supprime. Les commandes pour chaque gestionnaire apparaissent ci-dessus et sous Détails des paquets, avec mise pour Linux et macOS.
Un paquet n'est pas un plugin Herdr. Pour afficher les boutons de Collie dans Herdr, liez l'arborescence installée une fois :
herdr plugin link /opt/collieHerdr n'analyse pas /opt, il ne détecte donc jamais le paquet automatiquement. Les actions update et update-major du plugin refusent de s'exécuter et vous renvoient vers votre gestionnaire de paquets. C'est voulu : votre gestionnaire de paquets gère cette arborescence.
Nommez votre multiplexeur
Collie reflète un seul backend : COLLIE_MUX=herdr (par défaut), tmux ou zellij.
Vous n'avez pas besoin de le définir avant le premier démarrage. start recherche un socket Herdr actif, un serveur tmux en cours d'exécution et des sessions zellij, affiche ce qu'il a trouvé et écrit votre choix dans la configuration .env, en créant le fichier si nécessaire.
Sans invite dans le terminal, start sélectionne l'unique backend trouvé et le signale. S'il n'en trouve aucun, ou s'il en trouve plusieurs, il refuse de démarrer et vous demande de définir COLLIE_MUX.
Pour choisir à l'avance, préremplissez la configuration avant votre premier démarrage :
mkdir -p ~/.config/collie
cp ~/.local/share/collie/current/.env.example ~/.config/collie/.envCe chemin s'applique au script d'installation ; une extraction des sources contient .env.example à sa racine. Sur un plugin Herdr, le fichier se trouve là où herdr plugin config-dir herdr.collie pointe. Définissez ensuite le backend et son point de terminaison :
COLLIE_MUX=tmux # or: zellij
# zellij instead: COLLIE_MUX_ENDPOINT_ZELLIJ=<session>
COLLIE_MUX_ENDPOINT_TMUX=/run/user/1000/collie-tmux.sockAttention. N'exécutez pas cecpaprès un démarrage : il écrase la valeurCOLLIE_MUXquestartvient d'écrire.
Modifiez le fichier plus tard si votre configuration change. Voir Pointer Collie vers un multiplexeur.
Démarrez-le
herdr plugin action invoke start --plugin herdr.collie # Herdr plugin
collie start # standalonestart va :
- Compiler
web/dists'il est manquant. - Lancer le bridge sous
systemd --user(ou launchd/nohup). - Exécutez
tailscale serve --bg 8787(HTTPS :443 → 127.0.0.1:8787). - Afficher la bannière de connexion.
Premier lancement : ce que vous verrez
Sortie de collie start (les exécutions de Herdr renvoient du JSON ; consultez les journaux avec herdr plugin log list --plugin herdr.collie) :
$ collie start
building web UI (first run)… # linked clone only; a GitHub install already built
…bun install · typecheck · vite build output…
bridge started (systemd --user: collie)
tailscale serve (https) → tailnet :443 -> 127.0.0.1:8787
✓ Collie is running · v1.0.0+b158755
service systemd --user (collie) · active
local http://127.0.0.1:8787
tailnet https://myhost.tail1234.ts.netSi le health check échoue (⚠ Collie isn't answering on :8787 yet), consultez Dépannage.
Le pont s'exécute en tant que service systemd --user ou agent launchd macOS. Il démarre à la connexion et redémarre en cas d'échec (ARCHITECTURE.md §3). Sur Linux, loginctl enable-linger $USER le maintient actif après les redémarrages (Persistance aux redémarrages).
Configurez l'accès utilisateur dans Configurer et l'accès appareil via association (collie pair).
Est-ce que cela fonctionne vraiment ?
Vérifiez l'état et les journaux :
$ collie status
✓ Collie is running · v1.0.0+b158755
service systemd --user (collie) · active
local http://127.0.0.1:8787
tailnet https://myhost.tail1234.ts.net
serve config:
https://myhost.tail1234.ts.net (tailnet only)
|-- / proxy http://127.0.0.1:8787$ collie logs # journal timestamps trimmed here
[push] disabled (no VAPID keys configured)
[bridge] listening on http://127.0.0.1:8787 (poll 1500ms)
[bridge] WARNING: COLLIE_TRUSTED_USER is empty — any tailnet device/user that reaches the bridge is checked by its pairing token alone. Set it to your tailnet login (see README → Variant A).Pour restreindre l'accès, définissez COLLIE_TRUSTED_USER=you@example.com dans .env et exécutez collie restart (Configurer). Pour le contenu manquant du tableau de bord, consultez Dépannage.
L'installer sur votre téléphone
Ouvrez Collie sur le téléphone, jumelez le téléphone et ajoutez Collie à l'écran d'accueil.
- Confirmez que l'application Tailscale du téléphone partage un tailnet avec l'hôte.
- Exécutez
collie qrsur l'hôte et scannez son code, ou ouvrez l'URL affichée parcollie url. - Exécutez
collie pairsur l'hôte et scannez ce code QR.
Le code QR issu de collie pair ouvre Paramètres → Système → Appareils associés avec le code prérempli. Vous pouvez aussi ouvrir Paramètres → Système → Appareils associés et le saisir manuellement. Collie ne répond à aucun appareil tant qu'il n'est pas associé, le tableau de bord affiche donc Associer cet appareil d'ici là (Associer un appareil).
Collie est une application web. Le navigateur l'ajoute à votre écran d'accueil sans passer par un magasin d'applications, lui donnant une icône dédiée et un affichage en plein écran.
iPhone et iPad
- Ouvrez l'URL de Collie dans Safari.
- Touchez Partager, puis touchez Sur l'écran d'accueil.
- Touchez Ajouter.
Sur iOS 16.4 et supérieur, Chrome, Edge et Firefox proposent également Sur l'écran d'accueil dans leurs menus de partage. Si vous voyez Ouvrir en tant qu'application web, laissez-le sélectionné.

Safari ne propose pas de bouton d'installation. Les réglages de Collie affichent à la place une carte Installer avec ces étapes tant que vous ne les avez pas terminées.
Remarque. Sur iPhone ou iPad, le Web Push requiert iOS 16.4 ou supérieur et fonctionne uniquement depuis l'icône de l'écran d'accueil. Ouvrez Collie depuis cette icône, puis activez les notifications dans les réglages.
Android
- Ouvrez l'URL de Collie dans Chrome.
- Allez dans les réglages de Collie et touchez Installer sur la carte du haut.
Cette carte apparaît dès que Chrome propose l'installation. Si elle n'apparaît pas, ouvrez le menu de Chrome (⋮) et touchez Ajouter à l'écran d'accueil, puis Installer. Certaines versions de Chrome l'appellent Installer l'application. Firefox et Samsung Internet utilisent Ajouter à l'écran d'accueil dans leur menu principal.

Android prend en charge Web Push dans les onglets de navigateur standards. L'installation ajoute uniquement l'icône sur l'écran d'accueil et le mode plein écran.
Bureau
Chrome et Edge affichent une icône d'installation dans la barre d'adresse, ainsi que la carte Installer dans Paramètres. Sur macOS, Safari 17 et versions ultérieures utilise Fichier → Ajouter au Dock.
Remarques pour chaque appareil
- L'installation nécessite HTTPS. Sous
COLLIE_SERVE_MODE=http, les navigateurs désactivent les service workers, limitant Collie à un onglet de navigateur standard. - Les builds de développement (checkouts en dehors d'un tag de version) s'installent sous le nom Collie (dev) avec une icône orange afin d'éviter toute confusion avec les versions finales.
- L'association est liée à un seul appareil. Associez chaque téléphone, tablette ou navigateur que vous prévoyez d'utiliser.
Premier lancement
Lorsque Collie s'ouvre pour la première fois sur un appareil et charge le tableau de bord, un écran d'introduction présente votre configuration. Il liste le multiplexeur actif, l'hôte répliqué, les panneaux en cours d'exécution, les panneaux nécessitant une saisie, le nombre de machines de l'équipe et vos accès en écriture.
En dessous, il suggère jusqu'à deux actions : appairer l'appareil, lancer un élément, activer les alertes ou enregistrer Collie sur votre écran d'accueil. Il se termine par six tâches principales que vous pouvez exécuter.
L'application marque cet écran comme vu dès le chargement, fermer l'onglet ne l'affichera donc plus. Vous pouvez le consulter ultérieurement en appuyant sur Afficher à nouveau le premier écran dans Paramètres.
Update
Une seule commande récupère la version la plus récente de votre version majeure actuelle.
herdr plugin action invoke update --plugin herdr.collie # Herdr plugin
collie update # standaloneElle prépare la nouvelle version à côté de l'ancienne, bascule, redémarre le pont et effectue un retour arrière si la nouvelle version ne répond pas.
Une installation par paquet se met à jour avec son gestionnaire de paquets, puis nécessite un redémarrage, car le gestionnaire de paquets remplace les fichiers sans rien redémarrer :
sudo pacman -Syu collie-bin # Omarchy; on the AUR: paru -S collie-bin
nix profile upgrade collie # Nix
mise upgrade --bump github:AltanS/collie # mise
collie restartcollie update refuse de s'exécuter sur une installation par paquet et indique cette commande à la place. Le téléphone affiche la même commande à l'emplacement du bouton de mise à jour.
Passer à une version majeure supérieure est une étape distincte et explicite :
herdr plugin action invoke update-major --plugin herdr.collie # Herdr plugin
collie update --major # standaloneLe téléphone permet aussi d'effectuer les mises à jour courantes : Paramètres → Système → Mises à jour, une pression suffit, et sur un chef d'équipe, une seule pression met à niveau tous les membres. Pour la procédure sur téléphone, les vérifications préalables, le rollback, les équipes et la marche à suivre si une mise à jour se bloque, consultez Gérer et mettre à jour.
Uninstall
Trois étapes, dans cet ordre. Chacune supprime une seule couche et rien d'autre.
1. Supprimez le service et le mappage de ports. Cela arrête le pont, supprime l'unité systemd --user (l'agent launchd sur macOS) et retire le mappage tailscale serve propre à Collie. Les fichiers du programme et votre .env restent en place.
herdr plugin action invoke uninstall --plugin herdr.collie # Herdr plugin
collie uninstall # standalone2. Supprimez le programme.
herdr plugin uninstall herdr.collie # Herdr plugin, installed from GitHub
herdr plugin unlink herdr.collie # Herdr plugin, a linked clone or a linked package
collie unlink # standalone: drop the ~/.local/bin/collie symlink
rm -rf ~/.local/share/collie # standalone: the install script's tree, or $COLLIE_DIR
sudo pacman -Rns collie-bin # package: Arch and Omarchy
nix profile remove collie # package: Nix
mise uninstall github:AltanS/collie@1.14.2 # package: mise, the version
mise unuse github:AltanS/collie # package: mise, the config lineUn clone lié est votre propre checkout. unlink supprime l'enregistrement auprès de Herdr et vous laisse supprimer ou conserver le répertoire.
3. Supprimez vos propres fichiers, si vous souhaitez vous en débarrasser. Rien de ce qui précède ne touche à ces éléments, de sorte qu'une réinstallation retrouve ses appairages et ses paramètres :
| Élément | Plugin Herdr | Autonome |
|---|---|---|
Configuration, contenant .env | ~/.config/herdr/plugins/config/herdr.collie/ | ~/.config/collie/, ou le chemin Herdr sur un hôte qui exécute Herdr |
État : appareils associés, fichiers crew, stt.json, folders.json | ~/.local/state/collie/ (ou $COLLIE_STATE_DIR) | le même |
Pour mettre en pause sans rien supprimer, stop suffit :
herdr plugin action invoke stop --plugin herdr.collie # Herdr plugin
collie stop # standaloneDétails des paquets
Le PKGBUILD, l'expression Nix et leurs notes se trouvent dans packaging/ dans ce dépôt. Chaque paquet contient le binaire compilé déjà publié par la release, donc rien n'est compilé sur votre machine : pas de Bun, pas de git, aucune compilation. Tout le dossier de la release arrive sous un seul préfixe, avec collie dans votre PATH sous forme de lien symbolique pointant dessus. macOS n'a pas encore de paquet ; la sortie de la flake aarch64-darwin est ce qui s'en rapproche le plus.
Arch
collie-bin n'est pas encore sur AUR. AUR a suspendu l'enregistrement de nouveaux comptes, et le paquet sera publié depuis notre propre compte dès la réouverture des inscriptions. D'ici là, compilez-le à partir d'un clone de ce dépôt :
git clone https://github.com/AltanS/collie.git && cd collie/packaging/aur
makepkg -si
collie startmakepkg télécharge l'archive tar de la version pour votre architecture, vérifie son sha256 avec le manifeste d'intégrité de la version, puis l'extrait. Ni Bun, ni clone git d'autre chose, aucune compilation.
Une fois disponible sur AUR, un helper AUR installe le même PKGBUILD :
paru -S collie-bin # or: yay -S collie-bin
collie startLes mises à jour ultérieures s'effectuent avec paru -S collie-bin ou yay -S collie-bin, la commande utilisée pour l'installation. sudo pacman -Syu collie-bin fonctionne uniquement lorsqu'un dépôt héberge le paquet, comme celui d'Omarchy.
Le paquet installe l'arborescence de la version dans /opt/collie et /usr/bin/collie sous forme de lien symbolique pointant vers celle-ci. README.md, CHANGELOG.md et docs/ sont placés dans /usr/share/doc/collie-bin/, et la licence dans /usr/share/licenses/collie-bin/. Il fournit collie et entre en conflit avec lui, ce qui empêche d'installer à la fois ce paquet et un futur paquet source. Il n'active aucune unité systemd : collie start écrit votre propre unité --user, comme après n'importe quelle installation.
Remarque. Exécutezcollie restartaprès chaque mise à jour.pacmanremplace les fichiers sans rien redémarrer, le service continue donc de tourner sur l'ancienne version avec un binaire supprimé jusqu'à ce que vous le redémarriez.collie doctorle signale commerestart-pending, et le téléphone affiche « Collie was replaced on disk. Restart it. » avec la commande à exécuter.
Supprimez-le avec les trois étapes sous Uninstall : collie uninstall, puis herdr plugin unlink herdr.collie seulement si vous l'avez lié, puis sudo pacman -Rns collie-bin. pacman supprime /opt/collie et /usr/bin/collie, et rien d'autre.
Omarchy
sudo pacman -S collie-bin
COLLIE_MUX=herdr collie startOmarchy intègre à la fois tmux et Herdr, et Collie réplique un multiplexeur par installation ; le premier démarrage doit donc nommer celui à piloter : il refuse de choisir arbitrairement entre deux éléments détectés. start écrit ce nom dans le .env de Collie, qui correspond à ~/.config/herdr/plugins/config/herdr.collie/.env sur un hôte avec Herdr, et les démarrages suivants s'effectuent avec collie start.
Cela fonctionne dès que collie-bin est disponible dans le propre dépôt de paquets d'Omarchy, mais la pull request qui l'ajoute n'est pas encore fusionnée. En attendant, compilez le même paquet depuis packaging/aur avec makepkg -si, comme décrit ci-dessus pour n'importe quel hôte Arch.
Les mises à jour s'effectuent ensuite avec sudo pacman -Syu, la commande que vous exécutez déjà pour mettre à jour la machine. Aucun helper AUR n'intervient, car pkgs.omarchy.org est un véritable dépôt pacman. Il s'agit dans les deux cas du même PKGBUILD et de la même structure de /opt/collie.
Remarque. Les mises à jour proviennent de votre gestionnaire de paquets, et Collie ne se mettra pas à jour lui-même ici.collie updaterefuse l'opération. Le bandeau de mise à jour sur le téléphone indique "Collie x.y.z available via pacman.", et la page Updates affiche la commande à copier au lieu d'un bouton de mise à jour, car le gestionnaire de paquets possède ce dossier. Collie indique la formesudo pacman -Syu collie-bin, qui correspond à l'orthographe du dépôt ; sur une installation AUR, utilisez plutôt votre helper. Exécutezcollie restartaprès la mise à niveau, pour la raison mentionnée ci-dessus : pacman ne redémarre rien.
Dans un crew, cette machine ne reçoit jamais de mise à jour depuis le téléphone : le crew indique "waits for the package manager", et elle ne se met à niveau que lorsque vous y exécutez votre helper.
Supprimez-le en suivant les trois mêmes étapes que pour Arch ci-dessus.
Nix
nix profile install github:AltanS/collie#collie
collie startLe flake exporte packages.<system>.collie pour x86_64-linux, aarch64-linux et aarch64-darwin. Il récupère l'archive tarball de la version pour la plateforme concernée selon le sha256 présent dans son propre manifeste d'intégrité, patche l'interpréteur du binaire sur Linux, et installe l'arborescence de la version dans <store-path>/lib/collie avec bin/collie sous forme de lien symbolique pointant vers celle-ci. Exécutez-le une fois sans l'installer avec nix run github:AltanS/collie#collie -- doctor.
Il n'y a pas de compilation depuis les sources, et c'est volontaire : l'installation des dépendances nécessite le réseau alors qu'une dérivation Nix n'y a pas accès. Le paquet encapsule donc le binaire que la version publie et vérifie déjà par checksum.
Il n'existe pas encore de module NixOS, seulement le paquet flake. L'approche consiste donc à suivre nix profile : installez-le dans votre profil comme indiqué ci-dessus, ou ajoutez vous-même la sortie du flake à une liste home-manager ou environment.systemPackages.
Remarque. Les mises à jour proviennent de nix, et Collie ne se mettra pas à jour lui-même ici.collie updaterefuse l'opération et indiquenix profile upgrade collieà la place ; le téléphone affiche la nouvelle version avec cette commande à l'emplacement prévu pour le bouton de mise à jour.
Dans un crew, cette machine ne reçoit jamais de mise à jour depuis le téléphone : le crew indique "waits for the package manager", et elle ne se met à niveau que lorsque vous y exécutez nix.
Supprimez-le d'abord avec collie uninstall, puis :
nix profile remove collieCela supprime le chemin du store de votre profil et rien d'autre. Vos propres fichiers restent en place, comme indiqué sous Uninstall.
Agents Home Manager sur macOS
collie status
launchctl print "user/$(id -u)/herdr.collie"collie status détecte le libellé de l'instance dans gui/<uid> ainsi que dans user/<uid> et indique son domaine et l'état du processus. Si les deux domaines contiennent le libellé, il signale les deux ; un agent GUI arrêté ne masque pas un agent en arrière-plan en cours d'exécution. Aucune surcharge d'environnement n'est nécessaire.
Pour un agent Collie existant géré par Home Manager, ces paramètres sélectionnent le domaine d'arrière-plan (Home Manager 26.11 ou ultérieur) :
launchd.agents.collie = {
domain = "user";
config.Label = "herdr.collie";
};Ceci est un ajout à votre définition d'agent, pas un module de service complet. Conservez sa commande, son environnement et les chemins de journaux configurés dans Home Manager. Exécutez le bridge avec collie _exec-bridge, pas collie start, afin que launchd supervise le bridge sans que Collie ne réécrive le plist géré. Conservez les identifiants et l'état d'association hors du store Nix. Configurez le point d'entrée séparément avec collie serve, ou utilisez le configuration external-proxy.
Pour une instance nommée, utilisez le libellé herdr.collie-<name> et les mêmes COLLIE_INSTANCE, COLLIE_PORT et répertoire de configuration dans l'agent et votre environnement CLI (instances multiples).
Remarque. Home Manager gère le cycle de vie du service. Mettez à jour ou supprimez sa déclaration et activez Home Manager plutôt que d'exécutercollie start,stop,restartouuninstall. Ces commandes gèrent toujours l'agent du domaine GUI de Collie ; la détection d'état ne transfère pas la propriété. Continuez à utilisercollie pair,devices,urletlogsnormalement.
mise
mise use -g github:AltanS/collie@1.14.2
collie startmise use -g écrit l'outil dans ~/.config/mise/config.toml et place le bin/ de la version dans votre PATH. Le backend github récupère l'archive tarball de la version pour la plateforme concernée ; cela fonctionne donc sur Linux et macOS sans Bun et sans compilation. L'arborescence complète s'installe sous ~/.local/share/mise/installs/github-altan-s-collie/<version>/, y compris web/dist et herdr-plugin.toml, et collie résout sa propre racine à partir de cet emplacement.
Installez une nouvelle version avec la même ligne mise use et un tag plus récent, ou laissez mise choisir la dernière version :
mise upgrade --bump github:AltanS/collie
collie restart--bump est le flag important. Un 1.14.2 épinglé correspond à une plage d'une seule version ; une simple commande mise upgrade indique donc que l'outil est à jour et ne modifie rien.
Le redémarrage n'est pas facultatif. Chaque version dispose de son propre répertoire, et collie start intègre le répertoire depuis lequel il a été exécuté dans la définition du service. Le service continue donc de servir l'ancienne version depuis l'ancien répertoire jusqu'à ce que vous le redémarriez. collie restart réécrit cette définition avec le nouveau chemin : l'unité systemd --user sur Linux, le fichier plist ~/Library/LaunchAgents sur macOS. Une seule commande pour les deux.
Remarque. Un Mac administré uniquement par SSH ne dispose d'aucun domainegui/<uid>dans lequel charger un agent. Dans ce cas,collie startle signale et exécute à la place un pont non supervisé en arrière-plan, sans redémarrage en cas d'échec et sans exécution à la connexion.collie restartle bascule tout de même vers le nouveau répertoire.
Remarque.collie updaterefuse l'opération ici et ne mentionne aucun gestionnaire de paquets : il affichecannot tell how this Collie was installed. Une arborescence mise se trouve dans votre répertoire personnel, ne comporte aucun.gitpropre et ne présente aucune structureversions/parente ; Collie ne la reconnaît donc ni comme un clone git ni comme un paquet. mise gère les mises à jour sur cette installation, et les deux commandes ci-dessus permettent d'effectuer la migration.
Supprimez-le d'abord avec collie uninstall, puis :
mise uninstall github:AltanS/collie@1.14.2
mise unuse github:AltanS/collieuninstall supprime le répertoire de cette version, unuse retire la ligne de la configuration. Écrivez le nom complet github: de l'outil pour les deux ; le nom court collie fonctionne pour upgrade et non pour uninstall. Vos propres fichiers restent en place, comme indiqué sous Uninstall.
Modifier cette page sur GitHub