You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Script d'installation Proxmox (LXC) pour le mode client #142
J'ai créé un script d'installation pour déployer MyElectricalData v2 en mode client dans un conteneur LXC Proxmox, en une seule commande et sans Docker :
Crée un conteneur Debian 13 non privilégié (moteur des community-scripts)
Demande le client_id / client_secret au lancement (secret saisi masqué) et génère le .env
Installe PostgreSQL 17, le backend (uv, Python 3.11) et le frontend (build Vite servi par nginx sur le port 8100)
Applique les migrations Alembic à chaque démarrage, comme entrypoint.sh
Déploie depuis les releases GitHub, avec mise à jour via la commande update (le .env est conservé)
Testé de bout en bout sur Proxmox VE 9 avec la release 2.4.4 : synchronisation complète OK (consommation détaillée, puissance max, Tempo, calcul des coûts).
Deux points corrigés pour les installations hors Docker
En attendant leur intégration dans une release, le script contourne ces deux points (lien symbolique /app et uv sync sans --locked). Je le simplifierai une fois les PR publiées.
Proposition
Si ça vous convient, le script pourrait être mentionné dans docs/local-client/installation/ à côté de Docker et Helm, pour les utilisateurs Proxmox. Je peux préparer la page de doc si vous le souhaitez.
Petite précision sur la suite que j'envisage : j'aimerais aussi proposer ce script au catalogue community-scripts (Proxmox VE Helper-Scripts), très utilisé par les possesseurs de Proxmox.
Avant de le faire, je préfère avoir votre accord :
charge sur la passerelle : ce catalogue pourrait amener pas mal de nouvelles installations. Le client reste sur une vingtaine d'appels par jour, et la fiche du script prévient de ne pas faire tourner plusieurs instances avec le même compte, mais vous êtes mieux placés pour dire si la passerelle peut suivre ;
support : le README précise que le script n'est pas officiel et renvoie vers votre documentation du mode client. Si vous préférez une autre formulation, ou être cités, dites-le-moi.
Une fois #143 et #144 intégrées, le script n'aura plus besoin de contournement pour les chemins Docker.
Merci pour ce script, et merci d'avoir demandé avant de le proposer.
community-scripts : c'est d'accord. Chaque installation utilise ses propres identifiants, et la passerelle limite déjà chaque compte (50 appels par jour sans cache, 1000 avec cache) : même avec beaucoup de nouvelles installations, la charge reste encadrée. Le rappel de ne pas faire tourner plusieurs instances avec le même compte est utile, gardez-le.
Support : la formulation de votre README (script non officiel, renvoi vers la documentation du mode client) nous convient telle quelle.
Documentation : plutôt qu'une page dédiée, nous ajoutons une ligne « Proxmox LXC » dans le tableau des méthodes d'installation, qui pointe vers votre dépôt et précise qu'il s'agit d'un script communautaire non officiel (#153).
#143 et #144 : #143 est fusionnée, #144 est en cours de relecture. Vous pourrez retirer vos contournements quand elles seront publiées dans une release.
Deux remarques en relisant le script, rien de bloquant :
mqtt-scheduler.patch n'est plus nécessaire : l'export MQTT est pris en charge par le scheduler depuis la 2.5.1 (le patch est déjà ignoré au --dry-run).
Le lien « Passerelle » de lien-passerelle.patch peut intéresser tout le monde : n'hésitez pas à le proposer en PR. Cela vous éviterait aussi de télécharger des patches depuis main à chaque mise à jour, un point que les relecteurs de community-scripts pourraient relever.
Merci beaucoup pour cette réponse détaillée, et pour la #153 ! Une ligne dans le tableau des méthodes d'installation me convient très bien.
community-scripts : merci pour l'accord. Je garderai bien le rappel de ne pas faire tourner plusieurs instances avec le même compte, dans le README comme dans la fiche du script.
#143 / #144 : merci pour les fusions ! La #144 étant publiée dans la 2.5.5, je retire les deux contournements du script (le lien symbolique /app, et uv sync repasse en --locked). Avec la #151, uv.lock restera synchronisé, c'est parfait.
Remarques sur le script :
mqtt-scheduler.patch : bien vu, je le retire (fichier, installation et mise à jour).
Lien « Passerelle » : avec plaisir, je prépare une PR pour l'intégrer directement. Une fois fusionnée, le script n'aura plus aucun patch à télécharger depuis main, ce qui sera plus propre pour la relecture côté community-scripts.
Je reviens vers vous ici quand le script sera simplifié et la PR ouverte. Merci encore !
Script simplifié (commit) : mqtt-scheduler.patch est retiré (fichier, installation et mise à jour), plus de lien symbolique /app, et uv sync repasse en --locked. La commande update nettoie aussi les conteneurs existants. Testé sur un conteneur en 2.5.5 : uv sync --locked OK, backend démarré sans /app.
Testé sur Proxmox VE 9.2 avec la 2.10.0 : installation, services, synchronisation du PDL et commande update OK.
Le dépôt n'atteint pas les 600 étoiles demandées par community-scripts : j'ai demandé une exception, mais la PR sera fermée automatiquement d'ici 7 jours s'ils ne la retiennent pas. Je reviendrai ici pour fermer l'issue s'ils la publient. En attendant, le script reste disponible sur https://github.com/Marlboro62/myelectricaldata-proxmox.
Retour sur community-scripts : la PR (community-scripts/DevScripts#2482) a été fermée par un mainteneur. Il faut au moins 600 étoiles pour qu'un script soit examiné, et 1000 pour être publié sur ProxmoxVE ; le dépôt en est loin pour l'instant.
Si ça vous convient, je peux proposer une page docs/local-client/installation/proxmox.md qui pointe vers ce dépôt, à côté de Docker et Helm. Sinon, vous pouvez fermer l'issue.
Activity
Marlboro62 commentedon Oct 9, 2026
Petite précision sur la suite que j'envisage : j'aimerais aussi proposer ce script au catalogue community-scripts (Proxmox VE Helper-Scripts), très utilisé par les possesseurs de Proxmox.
Avant de le faire, je préfère avoir votre accord :
Une fois #143 et #144 intégrées, le script n'aura plus besoin de contournement pour les chemins Docker.
Merci !
m4dm4rtig4n commentedon Oct 15, 2026
Bonjour @Marlboro62,
Merci pour ce script, et merci d'avoir demandé avant de le proposer.
community-scripts : c'est d'accord. Chaque installation utilise ses propres identifiants, et la passerelle limite déjà chaque compte (50 appels par jour sans cache, 1000 avec cache) : même avec beaucoup de nouvelles installations, la charge reste encadrée. Le rappel de ne pas faire tourner plusieurs instances avec le même compte est utile, gardez-le.
Support : la formulation de votre README (script non officiel, renvoi vers la documentation du mode client) nous convient telle quelle.
Documentation : plutôt qu'une page dédiée, nous ajoutons une ligne « Proxmox LXC » dans le tableau des méthodes d'installation, qui pointe vers votre dépôt et précise qu'il s'agit d'un script communautaire non officiel (#153).
#143 et #144 : #143 est fusionnée, #144 est en cours de relecture. Vous pourrez retirer vos contournements quand elles seront publiées dans une release.
Deux remarques en relisant le script, rien de bloquant :
mqtt-scheduler.patchn'est plus nécessaire : l'export MQTT est pris en charge par le scheduler depuis la 2.5.1 (le patch est déjà ignoré au--dry-run).lien-passerelle.patchpeut intéresser tout le monde : n'hésitez pas à le proposer en PR. Cela vous éviterait aussi de télécharger des patches depuismainà chaque mise à jour, un point que les relecteurs de community-scripts pourraient relever.Marlboro62 commentedon Oct 15, 2026
Bonsoir @m4dm4rtig4n,
Merci beaucoup pour cette réponse détaillée, et pour la #153 ! Une ligne dans le tableau des méthodes d'installation me convient très bien.
community-scripts : merci pour l'accord. Je garderai bien le rappel de ne pas faire tourner plusieurs instances avec le même compte, dans le README comme dans la fiche du script.
#143 / #144 : merci pour les fusions ! La #144 étant publiée dans la 2.5.5, je retire les deux contournements du script (le lien symbolique
/app, etuv syncrepasse en--locked). Avec la #151,uv.lockrestera synchronisé, c'est parfait.Remarques sur le script :
mqtt-scheduler.patch: bien vu, je le retire (fichier, installation et mise à jour).main, ce qui sera plus propre pour la relecture côté community-scripts.Je reviens vers vous ici quand le script sera simplifié et la PR ouverte. Merci encore !
Marlboro62 commentedon Oct 15, 2026
Comme promis, c'est fait :
mqtt-scheduler.patchest retiré (fichier, installation et mise à jour), plus de lien symbolique/app, etuv syncrepasse en--locked. La commandeupdatenettoie aussi les conteneurs existants. Testé sur un conteneur en 2.5.5 :uv sync --lockedOK, backend démarré sans/app.Une fois la #154 publiée, le script n'aura plus aucun patch à télécharger, et je le proposerai à community-scripts.
feat(web): lien « Passerelle » dans le menu en mode client
Marlboro62 commentedon Oct 28, 2026
Pour info, j'ai proposé le script sur community-scripts : community-scripts/DevScripts#2482
Testé sur Proxmox VE 9.2 avec la 2.10.0 : installation, services, synchronisation du PDL et commande
updateOK.Le dépôt n'atteint pas les 600 étoiles demandées par community-scripts : j'ai demandé une exception, mais la PR sera fermée automatiquement d'ici 7 jours s'ils ne la retiennent pas. Je reviendrai ici pour fermer l'issue s'ils la publient. En attendant, le script reste disponible sur https://github.com/Marlboro62/myelectricaldata-proxmox.
Marlboro62 commentedon Oct 28, 2026
Retour sur community-scripts : la PR (community-scripts/DevScripts#2482) a été fermée par un mainteneur. Il faut au moins 600 étoiles pour qu'un script soit examiné, et 1000 pour être publié sur ProxmoxVE ; le dépôt en est loin pour l'instant.
Le script reste maintenu ici : https://github.com/Marlboro62/myelectricaldata-proxmox. Il a été testé sur Proxmox VE 9.2 avec la 2.10.0 (installation, synchronisation du PDL, mise à jour).
Si ça vous convient, je peux proposer une page
docs/local-client/installation/proxmox.mdqui pointe vers ce dépôt, à côté de Docker et Helm. Sinon, vous pouvez fermer l'issue.ci(release): MED-51 / tenir apps/api/uv.lock à jour à chaque release
docs(local-client): MED-54 / lien vers le script Proxmox LXC communau…
test(api): MED-51 / chemins static et pyproject hors Docker
ci(release): MED-51 / faire échouer la release si uv.lock n'est pas m…
m4dm4rtig4n commentedon Nov 2, 2026
Bonjour @Marlboro62,
Merci pour le retour, et pour la PR proposée à community-scripts malgré l'issue : dommage pour le seuil des 600 étoiles.
Pas besoin d'une page dédiée : la ligne « Proxmox LXC » du tableau des méthodes d'installation (https://myelectricaldata.github.io/myelectricaldata_new/local-client/installation/) pointe déjà vers https://github.com/Marlboro62/myelectricaldata-proxmox et précise qu'il s'agit d'un script communautaire, non officiel, maintenu par son auteur. Elle reste en place.
Je ferme donc l'issue. Merci encore pour le script et pour le temps passé sur l'intégration.