Vue normale

Dockhand : gestionnaire Docker léger et puissant

Par : Aerya
27 janvier 2026 à 10:14

Passé par Portainer, Komodo, Dockge et plus récemment Arcane, j’ai toujours pas trouvé LE gestionnaire de Docker qui me convienne : léger, permettant de gérer au moins 3 machines, intuitif tout en restant complet, qui gère les MàJ des Dockers, acceptant directement des compose, etc.

Depuis quelques jours maintenant j’utilise Dockhand (GitHub) et ça coche toutes les cases ; même plus puisqu’il a en option notamment des notifications différenciées et les outils Trivy et Grype pour scanner les dockers à la recherche de vulnérabilités. De mémoire j’avais présenté le 1er y’a des années sur le blog « perdu » effacé par un bon gros blaireau…

Pour le coup je le trouve très bien pensé, avec plus un œil de « geek » que de professionnel si je puis dire. Avec en prime une roadmap et un super Wiki qui va à l’essentiel.

dockhand1
dockhand2

J’ajoute l’environnement local via socket directement.

dockhand3
dockhand4
dockhand5
dockhand6
dockhand7
dockhand8
dockhand9
dockhand10
dockhand11
dockhand12
dockhand13

On peut ajouter des registres avec ses comptes comme DockerHub et GitHub

dockhand14

C’est tout bête mais j’aime bien la possibilité de choisir ses thèmes. Ça me rappelle un peu https://catppuccin.com/ports/

dockhand15
dockhand16

Puisque j’ai lié mon compte GitHub je peux importer mes repos, y compris les privés.

dockhand17

Comme souvent, on peut créer des templates d’installations Docker. J’ai jamais utilisé. Le seul cas, dans mon contexte, où ça pourrait éventuellement être potentiellement utile 2 ou 3 fois (na, pas du tout) ce serait pour créer une template pour les arrs/decypharr etc avec les volumes pré-définis. On est d’accord, j’en n’ai aucune utilité. Mais y’a l’option.

dockhand18

Pour les notifications, je me suis mis Discord. Et on verra après que je ne les utilise que dans le cas des MàJ pour l’instant. Je ne fais pas de MàJ auto pour tous mes Dockers, je suis du coup informé quand y’a une MàJ à faire ou quand celles en automatique ont été réalisées (ou ont échoué).

dockhand20
dockhand19

C’est uniquement en LAN chez moi, j’ai pas testé l’authentification.Idem pour l’ajout de serveurs (Syno et ZimaOS pour l’instant), j’ai utilisé Hawser vu que je suis sur mon réseau.

dockhand21

Et j’obtiens la vue d’ensemble de mes machines

dockhand22

Comme je le disais au début de l’article, j’ai été agréablement surpris de voir l’intégration de Trivy et Grype, sur option, qui permettent de scanner chaque image installée.

Ici l’exemple de mon serveur AdGuardHome que je voulais changer de machine : imthai/adguardhome-unbound-redis

dockhand23
dockhand24

Les vulnérabilités trouvées sont indiquées pour chaque agent avec le lien vers le CVE. Si l’option de scan est globalement activée alors les updates seront aussi scannées. Et on peut à tout moment lancer un scan depuis la liste des images via l’icône de bouclier.

Si tous les Dockers d’une machine seront reportés dans Dockhand, on ne pourra évidemment y éditer que ceux lancés via l’outil.
Pour se faire on peut utiliser la méthode « guidée » où on pull une image et on la gère de manière guidée.

dockhand33
dockhand34
dockhand35
dockhand36

Ou bien on peut importer des stacks/compose depuis un serveur (bouton Adopt) mais j’ai pas testé.

dockhand37

Ou enfin, le plus simple dans mon cas, on peut ajouter son compose directement. On peut même importer son .env
Désolé du caviardage mais j’ai réalisé après coup que je montrais un truc personnel.

dockhand38

Il est également possible d’importer des dépôts depuis les registres configurés

dockhand28

Dockhand permet bien sûr de créer et gérer tous les types de réseaux

dockhand30
dockhand39

Après ces tests, même si c’est toujours en gros développement, je trouve ça plus abouti qu’Arcane, plus simple que Komodo et ça répond plus à mes besoins que Portainer.
C’est une belle découverte que je vais conserver.

Loading

rClone ncdu : quand on ne peut pas installer ncdu sur un OS

Par : Aerya
26 janvier 2026 à 17:10

Parfois on n’a pas les droits pour installer des utilitaires sur un OS (notamment sur TrueNAS). J’aime particulièrement ncdu qui me permet de rapidement visualiser des tailles de dossiers/montages/backups…

Et on peut donc biaiser en l’utilisant depuis rClone, sur un remote « local » qu’il convient d’ajouter dans rclone.conf

[local]
type = local
rclonencdu

On peut cibler des dossiers comme on le ferait directement depuis l’OS

root@HomeBox[/mnt]# ls
Docker  Fichiers  Usenet
root@HomeBox[/mnt]# rclone ncdu local:Fichiers
rclone ncdu v1.70.2 - use the arrow keys to navigate, press ? for help
-- /mnt/Fichiers ----------------------------------------------------------------------------------------------------------------------------------------------
    2.321Ti [##########] /qbittorrentvpn2
  381.995Gi [##        ] /qbittorrentvpn1
    2.180Gi [          ] /metube
      360Ki [          ] /seedarr
       52Ki [          ] /grabb2rss
e         0 [          ] /books
e         0 [          ] /chaptarrdl
e         0 [          ] /decypharr
e         0 [          ] /rclonecache
e         0 [          ] /riven

Loading

Pourquoi Nvidia multiplie ses investissements en Europe dans l’IA

26 janvier 2026 à 15:39

L’accélération est spectaculaire. Nvidia a intensifié ses investissements dans les jeunes pousses européennes de l’IA, participant à 14 tours de financement en 2025 ( sur un total de 86), selon la plateforme Dealroom. Un doublement par rapport aux sept opérations de 2024, et une progression fulgurante quand on sait que le fabricant de puces n’avait réalisé aucun investissement sur le continent en 2020 et 2021.

Cette offensive européenne de Jensen Huang s’inscrit dans une stratégie mondiale d’envergure. pour tisser des liens étroits avec les sociétés les plus prometteuses du secteur, en leur apportant non seulement des capitaux, mais aussi une expertise technique et un accès privilégié à sa chaîne d’approvisionnement.

Des montants records déployés

Parmi les opérations les plus marquantes figure le troisième investissement de Nvidia dans le français Mistral AI, qui a levé 1,7 milliard € en septembre 2025, atteignant une valorisation de 11,7 milliards €.

Autre investissement majeur, les 500 millions de livres sterling dans Nscale, annoncé en septembre par Jensen Huang lui-même. Cette startup britannique, qui développe des centres de données et fournit des services de cloud computing pour l’IA, a rapidement bouclé deux tours de financement successifs fin septembre et début octobre, avec Nvidia à chaque fois au capital.

Le géant américain a également soutenu le laboratoire allemand Black Forest Labs en décembre, participant à une levée de 300 millions $ qui a propulsé la valorisation de cette société spécialisée dans les modèles d’IA pour le contenu visuel à 3,25 milliards $. Nvidia était aussi de la partie lors de la levée de fonds de Lovable, une startup travaillant sur le « vibe coding », valorisée à 6,6 milliards $

Autre pari relevé : celui sur Quantinuum, une entreprise d’informatique quantique qui a levé des fonds en septembre avec le soutien de Nvidia, atteignant une valorisation de 10 milliards $. Ces capitaux doivent financer le développement du système quantique de nouvelle génération Helios.

L’Europe, terre d’opportunités pour l’IA physique

Cette tendance s’est poursuivie en 2026. La startup britannique Synthesia a ainsi annoncé la participation de Nvidia à son dernier tour de table.

Pour Jensen Huang, qui s’exprimait récemment au Forum économique mondial de Davos, l’Europe dispose d’atouts considérables dans la robotique et l’intelligence artificielle physique. L’Europe possède une base industrielle et manufacturière particulièrement solide, qu’elle peut désormais fusionner avec l’IA pour se positionner sur ce marché émergent. Cette combinaison permettrait même à l’Europe de rattraper son retard dans le domaine logiciel, dominé par les États-Unis.

Reste un défi majeur : l’énergie. Jensen Huang a martelé ce point à Davos : pour que l’écosystème de l’IA puisse se développer pleinement en Europe, le continent doit résoudre la question de son approvisionnement énergétique. Avec des coûts parmi les plus élevés au monde, l’Europe peine à attirer les investissements massifs nécessaires au déploiement des infrastructures d’IA. Un constat partagé par Satya Nadella, le patron de Microsoft, qui juge que les coûts énergétiques seront déterminants dans la course mondiale à l’IA.

Un écosystème en pleine ébullition

Au-delà de l’Europe, Nvidia s’impose comme le faiseur de rois de l’IA. Les hyperscalers se précipitent pour construire leurs capacités et le groupe dispose de liquidités considérables à déployer. Jensen Huang parle du démarrage du plus grand déploiement d’infrastructures de l’histoire de l’humanité.

Les chiffres parlent d’eux-mêmes. L’année 2025 a enregistré l’un des plus hauts niveaux d’investissement en capital-risque jamais atteints, avec plus de 100 milliards $ déployés dans le monde, essentiellement vers des startups natives de l’IA. Ces entreprises opèrent dans la santé, la robotique, l’industrie manufacturière et les services financiers, des secteurs où les modèles d’IA sont désormais suffisamment matures pour permettre le développement d’applications concrètes.

——

Les principaux investissements de Nvidia en Europe en 2025

Startup Pays Secteur Montant levé Valorisation Date
Mistral AI France Modèles de langage IA open source 1,7 Md€ 11,7 Md€ Sept. 2025
Nscale Royaume-Uni Centres de données / Cloud IA 500 M£ N.C. Sept. 2025
Black Forest Labs Allemagne Modèles IA pour contenu visuel 300 M$ 3,25 Md$ Déc. 2025
Lovable N.C. « Vibe coding » N.C. 6,6 Md$ 2025
Quantinuum N.C. Informatique quantique N.C. 10 Md$ Sept. 2025
Note : Sur les 86 levées de fonds mondiales auxquelles Nvidia a participé en 2025, 14 concernaient des startups européennes, contre 7 en 2024.

 

The post Pourquoi Nvidia multiplie ses investissements en Europe dans l’IA appeared first on Silicon.fr.

Decypharr & AllDebrid : No debrid clients available or no slots found + script de nettoyage de magnets par Bouby

Par : Aerya
26 janvier 2026 à 14:07

Les versions :latest et :fenrir-xx embarquent une fonctionnalité qui interroge les débrideurs pour connaître le nombre de slots d’upload disponibles sur le compte utilisé.
Problème : AllDebrid ne gère pas ça via son API.
Second effet Kiss Cool : cette option ne peut pour l’instant pas être désactivée, donc AD en erreur d’upload quand un magnet/.torrent n’est pas en cache.

L’astuce consiste à revenir sur une version plus ancienne de Decypharr, la :beta fonctionnant.

services:
  decypharr:
    image: ghcr.io/sirrobot01/decypharr:beta
    #image: cy01/blackhole:fenrir
    #image: cy01/blackhole:fenrir-09
    container_name: decypharr
    restart: always
    privileged: true
    cap_add:
      - SYS_ADMIN
    security_opt:
      - apparmor:unconfined
    ports:
      - 8282:8282
    volumes:
      - /mnt/:/mnt/:rshared
      - /mnt/Fichiers/decypharr/qbit:/mnt/Fichiers/decypharr/qbit
      - /mnt/Docker/decypharr/:/app
    environment:
      - TZ=Europe/Paris
    devices:
      - /dev/fuse:/dev/fuse:rwm

Et j’en profite pour vous présenter l’excellent script de Bouby, lecteur du blog (\o/), qui permet de nettoyer les magnets liés à un compte AD. En effet, chez AD un compte est limité à 5000 liens. Il faut donc parfois faire un peu de ménage, surtout quand on fait des bibliothèques Plex/Jellyfin où il faut clairement plusieurs comptes AD.
Vous les voyez sur l’onglet Magnets de votre compte ou via l’API

adscript
status	"success"
data	{ magnets: (704)[…] }


Un lien est ajouté quand on envoie un magnet ou .torrent sur son compte AD (captain Obvious!) mais aussi à CHAQUE recherche de contenu dessus via les outils Decypharr, DMM, Vortex, les addons sources de Stremio etc. Même si un contenu est en cache, le fait de le chercher en ajoutant un magnet/.torrent crée un lien sur votre compte.
Je n’ai pas cherché et ne sais absolument pas comment AD gère ça côté utilisateurs, si des liens vieux de plus de X mois/années/heures sont retirés ou non.

Quoi qu’il en soit voici le script Python de Bouby (encore merci !). J’ai augmenté les seuils en fonction de la limite de 5000 liens/compte.

#!/usr/bin/env python3
import requests
from datetime import datetime, timedelta

# ----------------------------------------
# CONFIGURATION DU SCRIPT (variables en dur)
# ----------------------------------------

# Clé API AllDebrid — obligatoire pour accéder aux magnets
API_KEY = "xxx"

# Dry-run : True = le script affiche ce qu’il ferait sans supprimer
# False = suppression réelle
DRY_RUN = False

# -----------------------------
# Seuils et limites pour la purge
# -----------------------------
THRESHOLD_HIGH = 4700  # déclenche la purge normale si nombre total de magnets > 900
THRESHOLD_LOW = 2700   # limite minimale après purge pour ne pas trop supprimer =700
MAX_DELETE = 2000      # nombre maximum de magnets à supprimer en mode normal
MIN_AGE_DAYS = 7      # ne supprimer que les magnets plus vieux que X jours (sauf urgence)

# -----------------------------
# Mode urgence
# -----------------------------
EMERGENCY_THRESHOLD = 4900  # si le nombre total de magnets > 950, on active la purge d'urgence
EMERGENCY_DELETE = 2000     # nombre de magnets à supprimer immédiatement en urgence, ignore l'âge minimum

# -----------------------------
# API endpoint AllDebrid
# -----------------------------
# v4.1 est le nouvel endpoint pour récupérer les magnets
BASE_URL = "https://api.alldebrid.com/v4.1/magnet/status"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}

# -----------------------------
# Catégories de statut
# -----------------------------
# Ces statuts sont utilisés pour trier les magnets par priorité
FAILED = {"Error", "error"}        # magnets ayant rencontré une erreur
IN_PROGRESS = {"Processing"}       # magnets en cours de téléchargement
DONE = {"Finished", "Ready"}       # magnets terminés

# ----------------------------------------
# Récupérer tous les magnets depuis l’API
# ----------------------------------------
def get_magnets():
    """
    Récupère la liste des magnets depuis l’API AllDebrid.
    Retourne une liste vide si erreur ou endpoint obsolète.
    """
    try:
        r = requests.get(BASE_URL, headers=HEADERS, timeout=30)
        r.raise_for_status()
        data = r.json()

        # Vérifie que la réponse contient bien les magnets
        if "data" not in data or "magnets" not in data["data"]:
            print("❌ Réponse API inattendue :")
            print(data)
            return []

        return data["data"]["magnets"]

    except requests.RequestException as e:
        print("❌ Erreur réseau ou API :", e)
        return []

# ----------------------------------------
# Supprimer un magnet par son ID
# ----------------------------------------
def delete_magnet(magnet_id):
    """
    Supprime un magnet via l’API.
    Si DRY_RUN = True, n’effectue pas la suppression mais affiche l’action.
    """
    delete_url = "https://api.alldebrid.com/v4/magnet/delete"
    if DRY_RUN:
        print(f"[DRY-RUN] DELETE {magnet_id}")
        return

    try:
        # POST pour supprimer le magnet
        r = requests.post(delete_url, headers=HEADERS, data={"id": magnet_id})
        r.raise_for_status()
        print(f"✅ Supprimé magnet {magnet_id}")
    except Exception as e:
        print(f"❌ Erreur suppression {magnet_id} :", e)

# ----------------------------------------
# Trier et filtrer les magnets
# ----------------------------------------
def bucketize(magnets, ignore_age=False):
    """
    Trie les magnets par statut et filtre par âge.
    ignore_age=True ignore la limite MIN_AGE_DAYS (mode urgence)
    """
    # Date limite selon l'âge minimum
    cutoff = datetime.utcnow() - timedelta(days=MIN_AGE_DAYS)

    # Séparer les magnets par statut pour appliquer la priorité
    failed, progress, done = [], [], []

    for m in magnets:
        status = m.get("status", "")
        created = m.get("uploadDate") or m.get("completionDate") or 0
        created_dt = datetime.utcfromtimestamp(created) if created else datetime.utcnow()

        # Filtrer par âge sauf si mode urgence
        if not ignore_age and created_dt > cutoff:
            continue

        # Trier par statut
        if status in FAILED:
            failed.append(m)
        elif status in IN_PROGRESS:
            progress.append(m)
        elif status in DONE:
            done.append(m)

    # Trier chaque catégorie par date de création (anciens d’abord)
    for lst in (failed, progress, done):
        lst.sort(key=lambda x: x.get("uploadDate", 0))

    # Retourner tous les magnets dans l'ordre priorité : failed → progress → done
    return failed + progress + done

# ----------------------------------------
# Fonction principale
# ----------------------------------------
def main():
    """
    Logique principale :
    - Récupère tous les magnets
    - Vérifie les seuils
    - Applique le mode urgence si nécessaire
    - Supprime les magnets selon les règles
    """
    magnets = get_magnets()
    total = len(magnets)
    print(f"Total magnets : {total}, Dry-run : {DRY_RUN}")

    # Mode urgence
    if total > EMERGENCY_THRESHOLD:
        print("🚨 MODE URGENCE activé")
        ordered = bucketize(magnets, ignore_age=True)
        to_delete = ordered[:EMERGENCY_DELETE]

    # Mode normal
    elif total > THRESHOLD_HIGH:
        print("Mode normal")
        ordered = bucketize(magnets, ignore_age=False)
        max_deletions = min(MAX_DELETE, total - THRESHOLD_LOW)
        to_delete = ordered[:max_deletions]

    else:
        print("Seuil non atteint → rien à faire.")
        return

    # Supprimer les magnets sélectionnés
    for m in to_delete:
        mid = m.get("id")
        name = m.get("filename") or m.get("name") or ""
        status = m.get("status")
        print(f"→ Suppression {status} : {name} (id={mid})")
        delete_magnet(mid)

    print("✨ Purge terminée.")

# ----------------------------------------
# Exécution du script
# ----------------------------------------
if __name__ == "__main__":
    main()

Comme il le suggère, je le fais tourner avec un Docker Alpine. Chaque nuit à 3h.

services:
  alldebrid-purger:
    image: python:3.12-alpine
    container_name: alldebrid-purger
    restart: always
    working_dir: /app
    command: >
      sh -c "
      apk add --no-cache py3-pip &&
      pip install --no-cache-dir requests &&
      echo '0 3 * * * python /app/purge_alldebrid_magnets.py >> /logs/purge.log 2>&1'
      > /etc/crontabs/root &&
      crond -f -d 8
      "
    volumes:
      - /mnt/Docker/alldebrid_purger:/app:ro
      - /mnt/Docker/alldebrid_purger/logs:/logs

Loading

ZimaOS : le grand frère de CasaOS pour serveurs et NAS DIY

Par : Aerya
22 janvier 2026 à 17:58

Après avoir mis de côté UNRAiD, dont je me suis lassé, j’ai passé le LincStation N1 sous TrueNAS. Cet OS ne m’apporte rien d’autre que la gestion simplifiée des RAIDs via une WebUI (parce que bon… mdadm… c’est chiant). Enfin je ne cherche pas à utiliser l’OS pour être précis, je ne peux donc pas dire qu’il est nul ou top. M’en tape.

Les autres machines, tout aussi peu puissantes que le N1 sont sous Archlinux et Ubuntu. Arch parce que j’aime bien me demander chaque jour si une MàJ va plomber le serveur et comment je vais m’en dépatouiller (et c’est accessoirement mon desktop). Ubuntu, pour changer de Debian, parce que j’ai quand même besoin d’un truc stable dans ma vie de geek. N’utilisant quasi plus de VM/LXC depuis l’avènement de Docker, je n’ai plus de ProxMox.

Du coup, je shunte Ubuntu au profit d’une distribution basée sur Debian : ZimaOS ! Jai passé hier l’ensemble de mes services « utiles » sur TrueNAS pour libérer cette machine pour ce test.

Avertissement : c’est asiat’. Alors pour les complotistes américains peureux bas du front (rayez ou non les mentions inutiles), n’allez pas plus loin. Je n’ai absolument pas fait de RE pour savoir s’ils ont mis des backdoors. « Mais » CVE-2026-21891 (non encore relayée sur GitHub) / discussion Reddit et si j’ai pas sniffé le trafic, mon DNS ne fait rien ressortir d’extraordinaire. La machine ping même pas Baidu, contrairement à la majorité des objets IoT qui s’assurent d’être connectés à Internet en pingant le de Google chinoix (oui, eux aussi ont leur GAFAM BATX).

J’ai découvert cet OS par hasard, quand je cherchais des infos sur des boards de serveurs. J’ai d’ailleurs commencé par découvrir CasaOS, dont j’étais pas fans. Ça faisait un peu Docker in Docker. Pour moi c’est plus à voir comme une alternative à YunoHost (très bon projet pour ceux qui sortent d’une grotte et ne connaissent pas). Même ressenti pour Cosmos d’ailleurs.
ZimaOS est développé pour leurs NAS ZimaCube mais on peut l’installer partout.

Ils font eux-mêmes la comparaison entre ZimaOS et CasaOS, en gros :

C’est un UNRAiD like, avec une interface plus moderne (avis 100% subjectif), avec des clients à la Synology pour Windows, macOS, Linux (AUR), iOS et Android, avec une documentation bien faite sans tomber dans un Wikipedia comme on peut le voir chez certains concurrents, un GitHub et donc la possibilité d’ouvrir des issues (ce qui est bien plus pratique qu’un forum),

Ça s’installe en 2-2 avec une clé USB (iso de 1.3Go) créée avec Balena et se gère uniquement via la WebUI.

zimaos1
zimaos2
zimaos3
zimaos4

J’utilise la version gratuite.

zimaos5

Et il faut activer le Mode Développeur notamment pour désactiver l’indexation du contenu avec leur « IA » (pour faciliter la recherche) et autoriser SSH.

zimaos6
zimaos7
zimaos8
zimaos9
zimaos10

Première vraie configuration à faire, mon stockage. De mémoire j’ai que 2 disques dans ce PC mais la version gratuite permet d’en gérer 4 en RAID. Et la version payante coûte 29$ (« à vie »).

zimaos11
zimaos12

Comme j’ai qu’un SSD en sus de celui de l’OS, je me contente de le formater et ça l’ajoute bien ensuite en stockage. Ce que je vois d’ailleurs avec le widget de la dashboard, qui passe à 718Go de stockage.

zimaos13

Et donc, en standard, ZimaOS intègre un explorateur de fichiers, un outil de backup (depuis ou vers le NAS), un gestionnaire de VM et un PairDrop (je vois la machine sous Windows mais pas mon Arch, faudra que je trouve pourquoi).
Depuis un client (Linux/iOS), on peut parcourir les fichiers du serveur et faire du backup. Notamment de photos depuis l’iPhone (arrière plan ou non).

zimaos14
zimaos18
zimaos15
zimaos16
zimaos17
zimaos19

On peut ajouter des liens externes à la dashboard, ce qui est une très bonne idée et pourrait m’inciter à me passer de mon brave Heimdall qui m’accompagne depuis maintenant des années…

zimaos21
zimaos20

Et nous terminons évidemment avec le fameux AppStore et ses 372 applications (Docker) « prêtes à installer » au moment de cet article. Rien de comparable avec UNRAiD, je vous l’accorde. Mais ici, ça s’installe en 1 clic.

zimaos22

Et on peut ajouter des dépôts et doubler, au moins, le nombre d’applications du store.

zimaos32

Tout comme il est possible d’installer une app via la WebUI si on elle n’est pas dans le Store et qu’on n’est vraiment pas à l’aise en console.

zimaos24

On peut tout à fait utiliser Docker en console ou via Komodo, Arcane, Dockge, Portainer/what ever. Et ça marche « out of the box » dans ce cas, il n’y a rien à adapter pour l’OS.

À noter que par défaut, les applications installées via l’AppStore sont dans /DATA, sur le disque système.

root@ZimaOS:~ ➜ # tree /DATA/
/DATA/
├── AppData
│   └── pihole
│       └── etc
│           └── pihole
│               ├── adlists.list
│               ├── cli_pw
│               ├── config_backups
│               │   └── pihole.toml.1
│               ├── dhcp.leases
│               ├── dnsmasq.conf
│               ├── gravity.db
│               ├── gravity_backups
│               │   └── gravity.db.1
│               ├── gravity_old.db
│               ├── hosts
│               │   └── custom.list
│               ├── listsCache
│               │   ├── list.1.raw.githubusercontent.com.domains
│               │   ├── list.1.raw.githubusercontent.com.domains.etag
│               │   └── list.1.raw.githubusercontent.com.domains.sha1
│               ├── logrotate
│               ├── migration_backup
│               │   └── adlists.list
│               ├── pihole-FTL.db
│               ├── pihole-FTL.db-shm
│               ├── pihole-FTL.db-wal
│               ├── pihole.toml
│               ├── tls.crt
│               ├── tls.pem
│               ├── tls_ca.crt
│               └── versions
├── Backup
├── Documents
├── Downloads
│   └── ISO
├── Gallery
├── Media
│   ├── Movies
│   ├── Music
│   └── TV Shows
└── lost+found

Comme ça se voit au-dessus, j’ai installé Pi-Hole depuis l’AppStore pour tester. Faut juste cliquer pour installer.

zimaos23
zimaos25
zimaos26
zimaos27
zimaos28
zimaos29

Pratique : en cas d’ajout de disques, on peut migrer les données facilement

zimaos30
zimaos31

Même si ZimaOS est basé sur Debian, c’est propriétaire et on ne peut pas utiliser Apt pour y installer ce qu’on veut. C’est une sécurité également, histoire de ne pas mettre en vrac l’OS (ce qu’on est nombreux à avoir fait avec Proxmox hein… mentez pas !!). Ceci dit ils ont prévu le coup.
Ceci dit, leur OS embarque déjà bon nombre d’utilitaires tels que ncdu, jq, rclone…

Dans l’idéal, j’aimerais un dash qui permet de mieux intégrer quelques applications comme le font Heimdall, Homarr, Organizr etc.

Aperçu du client iOS

zimaos33
zimaos34
zimaos35
zimaos36

Avec le recul de cet article, je perçois ZimaOS comme un DSM de Synology, enfin plutôt un Xpenology vu qu’on peut l’installer où on veut, avec un peu de combo d’UNRAiD et cousins.

Enfin tous ces OS se ressemblent mais ZimaOS serait un peu le « macOS » du groupe, à vouloir proposer une expérience très esthétique, complète (Docker natif ou magasin d’applications), pratique (outils intégrés, y compris pour périphériques) et répondant AMHA à la plupart des besoins. Bien que propriétaire, contrairement à CasaOS qui est open source mais n’est qu’une surcouche.

Je pense le faire tourner quelques temps en parallèle de TrueNAS voir remplacer ce dernier. Et j’avais oublié, ça embarque aussi Btop++ pour afficher des stats temps réel.

zimaos37

Loading

❌