Aller au contenu principal

Installation sans connexion internet (clé USB)

Utiliser cette procédure quand l'hôtel ne dispose pas de connexion internet lors de l'installation.

Préparer la clé USB (chez toi, avec internet)

USB=/media/cyrille/STAYFLOW # adapter selon ton système

# 1. Télécharger toutes les images Docker
docker pull ghcr.io/mbia1378/stayflow-api:1.0.0
docker pull postgres:16-alpine
docker pull redis:7-alpine
docker pull nginx:alpine

# 2. Exporter en un seul fichier (~600 Mo)
docker save \
ghcr.io/mbia1378/stayflow-api:1.0.0 \
postgres:16-alpine \
redis:7-alpine \
nginx:alpine \
-o $USB/stayflow-bundle.tar

# 3. Builder la console React
cd /home/cyrille/Bureau/Stayflow_root/stayflow_console
npm run build -- --mode hotel
cp -r dist $USB/console

# 4. Copier les fichiers de déploiement
cp stayflow_api/docker-compose.hotel.yml $USB/
cp stayflow_api/nginx.hotel.conf $USB/
cp stayflow_api/.env.hotel.example $USB/

Contenu final de la clé :

STAYFLOW/
├── stayflow-bundle.tar (~600 Mo)
├── console/
│ ├── index.html
│ └── assets/
├── docker-compose.hotel.yml
├── nginx.hotel.conf
└── .env.hotel.example

Cas A — Docker est déjà installé sur le mini-PC

# Copier depuis la clé USB
sudo mkdir -p /opt/stayflow
cp -r /media/usb/* /opt/stayflow/
cd /opt/stayflow

# Charger les images (remplace docker pull)
docker load -i stayflow-bundle.tar

# Configurer
cp .env.hotel.example .env
nano .env

# Lancer sans accès internet
docker compose -f docker-compose.hotel.yml up -d --pull never

Cas B — Docker n'est pas encore installé

Option 1 — Hotspot téléphone (recommandé)

Connecter ton téléphone en hotspot Wi-Fi ou USB, installer Docker normalement :

curl -fsSL https://get.docker.com | sh

Déconnecter ensuite et continuer avec le Cas A.

Option 2 — Paquets .deb hors ligne

Sur ton PC avec internet, préparer les paquets sur la clé USB :

mkdir $USB/docker-deb && cd $USB/docker-deb
apt-get download \
docker-ce \
docker-ce-cli \
containerd.io \
docker-compose-plugin \
docker-buildx-plugin

Sur le mini-PC, installer depuis la clé :

cd /media/usb/docker-deb
sudo dpkg -i containerd.io_*.deb
sudo dpkg -i docker-ce-cli_*.deb
sudo dpkg -i docker-ce_*.deb
sudo dpkg -i docker-compose-plugin_*.deb
sudo dpkg -i docker-buildx-plugin_*.deb
sudo usermod -aG docker $USER

Se déconnecter/reconnecter puis continuer avec le Cas A.


Vérification finale

docker compose -f docker-compose.hotel.yml ps
curl http://localhost/api/v1/actuator/health
# → {"status":"UP"}

:::info WireGuard sans internet Le tunnel WireGuard ne peut pas se connecter lors de l'installation hors ligne. Il se connectera automatiquement dès que l'hôtel disposera d'une connexion internet, même occasionnelle. :::