130 lines
5.3 KiB
Markdown
130 lines
5.3 KiB
Markdown
---
|
|
title: Oxker
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, docker, tui, terminal, rust, auto-hebergement]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Docker, https://github.com/mrjackwills/oxker]
|
|
---
|
|
|
|
# 🐳 Oxker
|
|
|
|
> **Un `docker ps` qui claque, dans votre terminal** : Oxker est une TUI (Terminal UI) en Rust pour piloter vos conteneurs sans quitter le shell. Léger, rapide, aucun navigateur requis.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Champ | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | (GitHub) |
|
|
| **GitHub** | [mrjackwills/oxker](https://github.com/mrjackwills/oxker) |
|
|
| **License** | MIT |
|
|
| **Langage** | Rust |
|
|
| **Étoiles GitHub** | 1706 ⭐ |
|
|
| **Dernière MAJ** | 2026-05-25 |
|
|
| **Catégorie** | [[cat-docker\|Docker]] |
|
|
|
|
## 📝 Description
|
|
|
|
**Oxker** est une **interface TUI (Terminal User Interface)** écrite en Rust pour gérer vos conteneurs Docker depuis le terminal. Inspiré de `k9s` (pour Kubernetes) et de LazyDocker, il affiche la liste des conteneurs, leur état, leur consommation CPU/RAM, et permet de les start/stop/restart/logs en quelques touches.
|
|
|
|
Ce n'est **pas** une GUI web : tout se passe dans le terminal, via des raccourcis clavier (`s` start, `x` stop, `r` restart, `l` logs, `q` quit). Parfait pour les serveurs headless, les sessions SSH, ou les amateurs de clavier.
|
|
|
|
- ✅ **Vue compacte** : conteneurs, état, image, ports, CPU/RAM en colonnes
|
|
- ✅ **Rafraîchissement temps réel** (configurable, 1-10 s)
|
|
- ✅ **Actions** : start, stop, restart, kill, pause, unpause
|
|
- ✅ **Logs intégrés** : `l` ouvre un panneau de logs scrollable pour le conteneur sélectionné
|
|
- ✅ **Inspect** : `i` affiche les détails (env, mounts, network) en JSON formaté
|
|
- ✅ **Filtrage / recherche** : `/` pour filtrer par nom ou image
|
|
- ✅ **Binaire unique** : un seul exécutable Rust, ~10 Mo, démarrage instantané
|
|
- ✅ **Multi-daemon** : supporte `DOCKER_HOST` (connexion à un hôte distant)
|
|
|
|
**Oxker vs LazyDocker / [[app-dockge|Dockge]]** : Dockge est une GUI web (besoin d'un navigateur, d'un port exposé). Oxker est une TUI (100 % terminal). Pour un serveur headless ou un accès SSH, Oxker est imbattable. Oxker vs `docker ps` : mêmes infos + actions, mais visuel et interactif.
|
|
|
|
## 🚀 Installation
|
|
|
|
### Binaire standalone (méthode recommandée)
|
|
|
|
```bash
|
|
# Linux x86_64
|
|
wget -O oxker.tar.gz https://github.com/mrjackwills/oxker/releases/latest/download/oxker-x86_64-unknown-linux-gnu.tar.gz
|
|
tar -xzf oxker.tar.gz
|
|
sudo mv oxker /usr/local/bin/
|
|
|
|
# Lancer
|
|
oxker
|
|
```
|
|
|
|
### Cargo (depuis les sources)
|
|
|
|
```bash
|
|
cargo install --git https://github.com/mrjackwills/oxker
|
|
```
|
|
|
|
### Homebrew (macOS)
|
|
|
|
```bash
|
|
brew install oxker
|
|
```
|
|
|
|
### Connexion à un hôte distant
|
|
|
|
```bash
|
|
DOCKER_HOST=ssh://user@server.local oxker
|
|
```
|
|
|
|
## ⚙️ Configuration Initiale
|
|
|
|
1. **Installer le binaire** (voir section précédente) — aucune dépendance runtime
|
|
2. **Vérifier l'accès Docker** : `docker ps` doit fonctionner avec vos droits utilisateur (groupe `docker` ou root)
|
|
3. **Lancer Oxker** : `oxker` — l'UI s'affiche immédiatement
|
|
4. **Naviguer** : flèches haut/bas pour sélectionner un conteneur, `?` pour l'aide
|
|
5. **Tester une action** : sélectionner un conteneur de dev, appuyer sur `x` (stop) puis `s` (start)
|
|
6. **Affiner l'affichage** : `-r` pour le rate de refresh, `-s` pour le tri (par nom, état, CPU)
|
|
|
|
## 🔄 Alternatives
|
|
|
|
### Open Source
|
|
- **LazyDocker** — TUI Go, plus ancienne, plus de fonctionnalités
|
|
- **dtop** — TUI Python orientée métriques
|
|
- **ctop** — TUI historique (deprecated)
|
|
- **K9s** — pour Kubernetes, pas Docker
|
|
- **Podman TUI** — équivalent pour Podman
|
|
|
|
### Comparaison Oxker vs alternatives
|
|
|
|
| Critère | Oxker | LazyDocker | dtop | ctop |
|
|
| :--- | :--- | :--- | :--- | :--- |
|
|
| Langage | Rust | Go | Python | Go |
|
|
| Binaire | 10 Mo | 8 Mo | ❌ (Python) | 5 Mo |
|
|
| Logs intégrés | ✅ | ✅ | ❌ | ❌ |
|
|
| Inspect | ✅ | ✅ | ❌ | ❌ |
|
|
| CPU/RAM live | ✅ | ✅ | ✅ (avancé) | ✅ |
|
|
| Rafraîchissement | 1-10s | 1-10s | 1-5s | 1s |
|
|
| Maintenance | Active | Active | Active | Stale |
|
|
|
|
**Verdict** : Oxker est **le meilleur choix moderne en Rust** (rapide, sûr en mémoire, actif). LazyDocker reste une excellente alternative, surtout si vous voulez la souris (souris supportée dans la TUI).
|
|
|
|
### Propriétaires (ce que Oxker remplace)
|
|
- **Portainer CE** (GUI web, plus lourd)
|
|
- **Docker Desktop** (propriétaire, lourd, UI GUI)
|
|
|
|
## 🔐 Sécurité
|
|
|
|
- ⚠️ **Oxker a besoin des droits Docker** : soit l'utilisateur est dans le groupe `docker` (équivalent root), soit Oxker tourne en root. Pour un usage multi-utilisateurs, créer un socket-proxy filtré ([[app-docker-socket-proxy-docker|docker-socket-proxy]])
|
|
- **Pas de daemon à exposer** : c'est un client local, donc **aucun port réseau à ouvrir** — c'est un avantage sécurité majeur
|
|
- **Logs potentiellement sensibles** : si vous êtes en SSH partagé, attention à qui voit quoi via les logs affichés
|
|
|
|
## 📚 Ressources
|
|
|
|
- [GitHub mrjackwills/oxker](https://github.com/mrjackwills/oxker)
|
|
- [Démo (GIF)](https://github.com/mrjackwills/oxker#demo)
|
|
|
|
## Pages Liées
|
|
- [[cat-docker]] — Catégorie Docker
|
|
- [[app-portainer]] / [[app-dockge]] / [[app-yacht]] — GUI web
|
|
- [[app-traefik]] — Reverse-proxy
|
|
- [[recettes-docker-compose]] — Compose files
|
|
- [[securisation-home-lab]] — Bonnes pratiques
|