Skip to content

improve Dockerfile build sequence#2999

Closed
pifou25 wants to merge 226 commits into
jeedom:alphafrom
pifou25:feat/dockerfile_copy
Closed

improve Dockerfile build sequence#2999
pifou25 wants to merge 226 commits into
jeedom:alphafrom
pifou25:feat/dockerfile_copy

Conversation

@pifou25
Copy link
Copy Markdown
Contributor

@pifou25 pifou25 commented Dec 17, 2024

Description

Pour éviter de recopier les sources lorsque ce n'est pas nécessaire: le step (6) dans Dockerfile COPY . ${WEBSERVER_HOME} fait déjà la copie des fichiers dans le répertoire courant.
Pourtant je l'ai quand même laissé post-install dans le init.sh pour un cas particulier :

docker run -p 80:80 -v /tmp/jeedom:/var/www/html --rm --name jeedom_server jeedom
Avec l'option -v je map le rep de l'host sur celui du container. Du coup ça permet de persister Jeedom sur l'host, et ça marche lors de l'arrêt / relance du container, on ne perd rien. Mais au 1er lancement, si mon rep /tmp/jeedom est vide sur l'host, il est vide aussi dans le container, malgré que je pensais y avoir copié les sources (lors du build). Dans ce cas uniquement, on doit recopier les sources.
C'est ce que je ne comprends pas dans la doc, normalement si le rep est vide on devrait y retrouver les données du container:
https://docs.docker.com/engine/storage/volumes/#mounting-a-volume-over-existing-data

Le fichier .dockerignore permet à l'instruction COPY . de savoir ce qu'il faut ignorer - ne pas copier dans l'image.

Le step 10 (install composer) se fait aussi au build de l'image, pas au démarrage de l'application. Donc dans le Dockerfile également.
J'ai mis à jour composer.lock de nouveau mais c'est normalement le même que celui en attente de merge sur #2905 mais le build ne marche pas avec le composer.lock actuel (c'est sans doute pour ça qu'il est systématiquement supprimé)

Suggested changelog entry

Related issues/external references

Fixes #

Types of changes

  • Bug fix (non-breaking change which fixes)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
    • This change is only breaking for integrators, not for external standards or end-users.
  • Documentation improvement

PR checklist

Sekiro-kost and others added 30 commits April 30, 2024 13:18
@Mips2648 Mips2648 changed the base branch from alpha to develop April 16, 2026 16:40
@Mips2648 Mips2648 changed the base branch from develop to alpha April 16, 2026 16:40
@Mips2648
Copy link
Copy Markdown
Collaborator

Hello,
si cette PR a encore un intérêt, il faudrait la re-soumettre sur develop car sinon elle embarque des changements non-désirés.

si plus besoin alors on peut la fermer

kwizer15 and others added 14 commits April 16, 2026 22:09
Migrer PHPStan vers une dépendance Composer (edit jeedom#3110)
Correction des méthodes statiques et du nommage de classes (PHPStan lvl 1)
Suppression des arguments superflus dans les appels de méthodes (PHPStan lvl 1)
…HPStan

git ls-remote --exit-code retourne 2 quand la branche n'existe pas,
ce qui, combiné à bash -e, faisait échouer tout le step. Remplacement
par une condition if/grep pour ne pas propager le code de sortie.
…nch-check

Corriger l'échec du workflow PHPStan lors de la suppression de branche
…mixing-tags

Fix/scenario self execute mixing tags
kwizer15 and others added 6 commits April 18, 2026 14:42
…d'intégration

Le champ `type` envoyé par le client dans `setComponentOrder` était concaténé
directement dans la requête SQL, sans aucune validation, contrairement aux
autres champs contrôlés par is_numeric(). Un admin pouvait injecter du SQL
arbitraire (testé : `DROP TABLE viewData` s'exécute réellement).

- Whitelist stricte sur le champ `type` (cmd, eqLogic, scenario)
- Remplacement de la concaténation SQL multi-statements par un prepared
  statement exécuté à chaque itération
- Tests d'intégration couvrant l'endpoint via un sous-processus PHP
  authentifié comme admin (payload DROP, UNION, type inconnu, type manquant)
fix: prevent a possible SQL injection in setComponentOrder
Clarified the usage of the #trigger_name# tag and its implications for object, equipment, or command name changes.
@pifou25 pifou25 force-pushed the feat/dockerfile_copy branch from 8dc55f1 to eab6446 Compare April 19, 2026 13:18
@pifou25 pifou25 marked this pull request as draft April 19, 2026 13:19
@pifou25
Copy link
Copy Markdown
Contributor Author

pifou25 commented Apr 19, 2026

Je n'arrive pas à changer de branche sur celle-ci, alors j'ai fait une nouvelle PR #3274

@pifou25 pifou25 closed this Apr 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.