🛠 NAS Samba et conteneurs Docker sur NVMe
Objectifs
Transformer l'ODROID-M1 en mini-serveur domestique : partage Samba sur le SSD NVMe (et le port SATA 3.0 natif, alimentation 5 V seulement) plus conteneurs Docker. C'est l'usage qui a fait le succès du M1 : NVMe rapide + Gigabit à moins de 100 $.
Matériel
- ODROID-M1 booté sur NVMe (voir le tuto boot), 4 ou 8 Go de LPDDR4
- SSD 2,5" SATA (les disques 3,5" exigent une alimentation externe : le port SATA ne fournit que 5 V)
- Câble Ethernet Gigabit, réseau local
Code complet
#!/usr/bin/env bash
set -euo pipefail
# 1) Disque de données formaté et monté sur /srv/nas
sudo mkfs.ext4 /dev/nvme0n1p3 || true # partition dédiée, attention aux données
sudo mkdir -p /srv/nas && sudo mount /dev/nvme0n1p3 /srv/nas
# 2) Partage Samba
sudo apt-get install -y samba
sudo smbpasswd -a projet
sudo tee -a /etc/samba/smb.conf <<'EOF'
[nas]
path = /srv/nas
writable = yes
valid users = projet
EOF
sudo systemctl restart smbd
# 3) Docker sur le même disque
curl -fsSL https://get.docker.com | sudo sh
sudo docker run -d --name watchdog --restart unless-stopped \
-v /srv/nas:/data busybox tail -f /dev/null
Vérification attendue
Depuis un PC : smb://adresse-du-m1/nas s'ouvre et s'écrit ; docker ps montre le conteneur démarré ; un transfert de fichier atteint la limite du Gigabit (~110 Mo/s) sans que les 4 coeurs A55 ne saturent.
Erreurs fréquentes
- Brancher un disque 3,5" sur le SATA du bord : il ne tourne pas, le connecteur ne délivre que 5 V.
- Oublier smbpasswd après avoir créé l'utilisateur système : accès refusé malgré le partage.
- mkfs sur la mauvaise partition et détruire le système : toujours vérifier lsblk avant.
- Images Docker arm64 introuvables : vérifier l'architecture (uname -m doit donner aarch64) et choisir des images multi-arch.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash