OctoPrint, Proxmox, IPCam et Apache

OctoPrint, Proxmox, IPCam et Apache
Photo by ZMorph All-in-One 3D Printers / Unsplash

Le but de ce projet est d'automatiser le plus possible l'impression 3D.
Pour que je n'aie qu'a faire le minimum et pouvoir tout lancer et surveiller depuis n'importe où.


Pour ce faire, je vais utiliser Proxmox sur mon ancien PC avec le SwitchBot et le brancher en mini-usb sur l'imprimante (sans oublier de retirer la carte micro-sd).

Ensuite je vais installer un Ubuntu Server LTS et suivre un tuto d'installation d'OctoPrint, qui me servira d'interface pour piloter/envoyer/gérer l'imprimante.

Le tuto est à adapter suivant votre config personnelle et je n'ai pas ajouté l'utilisateur pi .

Une fois installé on peut se connecter sur l'ip de sa machine avec le port 5000.

Si tout se passe bien la connection se fait automatiquement. Si jamais ca ne détecte aucuns usb, se que j'ai fait sur Proxmox c'est d'ajouter le périphérique usb directement, comme ceci :

La machine n'a vraiment pas besoin de beaucoup en spécifications donc c'est vraiment le minimum 😋.

Dans OctoPrint, on peut ajouter une caméra IP. J'ai donc recyclé un ancien smartphone avec IPCam, récupérer le flux vidéo et importé sur OctoPrint.

Jusque là on est resté en réseau local. Bon, pour commencer je ne détaillerais pas mon installation MAIS je vais vous donner toutes les infos sur se que j'ai fait.

Alors, j'ai un serveur (chez Scaleway) avec mon nom de domaine, toussa toussa.

Je crée donc un sous-domaine et je pourrais simplement le faire pointer chez moi avec les bons ports ouverts. Mais non, OctoPrint ne gère pas nativement le ssl (donc https) et les seuls plugins que j'ai trouvé sont, soit dégeulasse avec une adresse ultra pas intuitive, ou payant…

Je vais donc contourner tout ca !

Je pointe donc mon sous-domaine sur mon serveur Scaleway, sur celui-ci je fait une redirection en https avec Apache sur un reverse proxy, qui lui va aller sur mon ip à la maison avec la bonne ouverture/redirection de port.

Et ... 🎉 ca fonctionne !


Donc résumons, nous avons notre serveur, dans une machine virtuelle, qui exécute OctoPrint qui est aussi connecté en usb sur l'imprimante et le tout est accessible depuis n'importe où de manière "sécurisé".

Il manque une seule chose ! Un multiprise connecté pour savoir tout éteindre et allumer à distance.

C'est pas merveilleux ? Ha moi je trouve que si 😂.

Prochaine étape, ajouter l'Auto-Leveling sur l'imprimante !