Bêta précoce (0.1.0), pas encore pour un process critique. Voir la roadmap
PNeX logo

Serveur ou VM Linux

Installer PNeX sur Debian ou Ubuntu — bare metal, hyperviseur ou VM cloud

Prérequis

  • Debian 12/13 ou Ubuntu 22.04+, amd64 ou arm64.
  • 4 Go de RAM (8 Go recommandés), 16 Go de disque libre.
  • Ports 80 et 443 libres. Docker Engine et le plugin compose sont installés s'ils manquent.

Sur un réseau local (labo, usine, VM Proxmox ou VirtualBox)

curl -fsSL https://raw.githubusercontent.com/Pnex/pnex-deploy/main/install.sh \
  | sudo bash -s -- --admin-user [email protected]

Le serveur est nommé <hostname>.local (mDNS) et le TLS utilise une autorité de certification générée sur le serveur, comme sur un Raspberry Pi. Pour une VM, utilisez une carte réseau en pont (bridge) pour que les devices du réseau l'atteignent.

Sur un serveur public

Avec un enregistrement DNS pointant vers le serveur, utilisez Let's Encrypt :

curl -fsSL https://raw.githubusercontent.com/Pnex/pnex-deploy/main/install.sh \
  | sudo bash -s -- --domain pnex.example.com --tls cloud \
      --acme-email [email protected] --admin-user [email protected]

Pas de nom de domaine ? Construisez-en un à partir de l'IP publique avec sslip.io : la VM obtient un certificat Let's Encrypt sans aucun DNS à gérer :

curl -fsSL https://raw.githubusercontent.com/Pnex/pnex-deploy/main/install.sh \
  | sudo bash -s -- --domain sslip --ip 203.0.113.7 --tls cloud \
      --acme-email [email protected] --admin-user [email protected]

--ip est nécessaire quand la VM ne voit qu'une adresse privée derrière le NAT du fournisseur. Les ports 80 et 443 doivent être ouverts sur internet.

Démo : une VM cloud neuve

Une vraie installation de 0.1.0-beta.2 sur une VM Ubuntu 26.04 neuve, avec IP publique, sslip.io et Let's Encrypt (téléchargements raccourcis, mot de passe admin masqué). L'installeur met lui-même Docker en place, puis télécharge les images, démarre la stack et vérifie sa santé :

install.sh --version 0.1.0-beta.2 --domain sslip --tls cloud

Une fois terminé, pnexctl status liste les services, et le certificat servi sur le nom sslip.io est bien émis par Let's Encrypt :

pnexctl status, puis la vérification HTTPS

Le mot de passe admin est affiché une seule fois à la fin de l'installation. Si vous l'avez manqué, relisez-le dans le .env de l'installation :

sudo grep PNEX_ADMIN_PASSWORD /opt/pnex/.env

Il n'initialise le compte qu'au tout premier démarrage : changez-le après la première connexion (la valeur du .env n'est alors plus valable).

Options

OptionRôle
--profile raspi|serverréglage mémoire (auto : raspi sous 6 Go de RAM)
--storage fs|s3firmwares et médias en base / sur un volume, ou dans un RustFS embarqué
--smtp-url …mail sortant pour l'inscription et la réinitialisation de mot de passe
--version latest|0.1.0-beta.5la version à installer : latest (défaut, dernier main vert) ou une release publiée, conservée aux mises à jour
--tag <tag d'image>forcer seulement le tag d'image (ex. main-<sha>)

install.sh --help liste tout ; l'exploitation passe par pnexctl (status, logs, upgrade, backup, log-level).

On this page