Loading .env.example 0 → 100644 +45 −0 Changes for .env.example: 45 added lines, 0 removed lines. Original line number Diff line number Diff line #---------------------------# # Application # #---------------------------# # nom de l'application, utilisé pour les conteneurs entres autres. # pas de caractères spéciaux autorisés APP_NAME=ose # Nom d'hôte de l'application (monapp.mondomaine.fr) APP_HOST=ose.localhost.unicaen.fr # Nom visible de l'application, à l'affichage #APP_LABEL=OSE # Environnement, 3 valeurs possibles : dev, test, prod APP_ENV=dev # Fuseau horaire de l'application #TZ=Europe/Paris # ID d'utilisateur de la machine hôte DEV_HOST_USER_ID=1000 # Url personnalisée pour utiliser Vite #DEV_VITE_URL=http://ose.localhost.unicaen.fr:5133 # Port personnalisé pour utiliser Vite #DEV_VITE_PORT=5133 #---------------------------# # Config Proxy # #---------------------------# # à configurer uniquement sur les serveurs (règle valable pour Unicaen) #HTTP_PROXY= #HTTPS_PROXY= #NO_PROXY= #---------------------------# # Mail # #---------------------------# # Si MAIL_ENABLED=true et les paramètres de mail sont vides, alors un conteneur local sera cré pour héberger un mail catcher MAIL_ENABLED=true #MAIL_MAILDEV_PORT=1080 #MAIL_SMTP_HOST= #MAIL_SMTP_PORT=25 #MAIL_FROM="ne-pas-repondre@xxx.fr" No newline at end of file .gitignore +4 −2 Changes for .gitignore: 4 added lines, 2 removed lines. Original line number Diff line number Diff line .env config.local.php config/autoload/*.local.php vendor/* Loading @@ -12,6 +13,7 @@ VERSION composer.phar .phpunit.result.cache .idea .env /.php-cs-fixer.cache deployments/* Makefile supervisord.* docker-compose.yaml No newline at end of file Dockerfiledeleted 100644 → 0 +0 −50 Changes for Dockerfile: 0 added lines, 50 removed lines. Original line number Diff line number Diff line ########################################################################################### # # Image pour le dev. # # Montage des sources attendu dans le volume "/app" du container. # ########################################################################################### ARG PHP_VERSION FROM unicaen-dev-php${PHP_VERSION}-apache ARG APPLICATION_ENV LABEL maintainer="Laurent LÉCLUSE <laurent.lecluse at unicaen.fr>" ENV APACHE_CONF_DIR=/etc/apache2 \ PHP_CONF_DIR=/etc/php/${PHP_VERSION} ## Installation de packages requis. RUN apt-get update -y RUN apt-get upgrade -y RUN apt-get install -y unoconv gawk # Nettoyage RUN apt-get autoremove -y && apt-get clean && rm -rf /tmp/* /var/tmp/* # Symlink apache access and error logs to stdout/stderr so Docker logs shows them RUN ln -sf /dev/stdout /var/log/apache2/access.log RUN ln -sf /dev/stdout /var/log/apache2/other_vhosts_access.log RUN ln -sf /dev/stderr /var/log/apache2/error.log # Lien pour l'exécutable interne de OSE RUN ln -sf /app/bin/ose /usr/local/bin/ose RUN ln -sf /app/bin/ose-test /usr/local/bin/ose-test RUN ln -sf /app/bin/ose-code /usr/local/bin/ose-code # Config PHP. ADD docker/${APPLICATION_ENV}/php.conf ${PHP_CONF_DIR}/fpm/conf.d/app.ini ADD docker/${APPLICATION_ENV}/php.conf ${PHP_CONF_DIR}/cli/conf.d/app.ini # Configuration Apache et FPM ADD docker/${APPLICATION_ENV}/apache-ports.conf ${APACHE_CONF_DIR}/ports.conf ADD docker/${APPLICATION_ENV}/apache-site.conf ${APACHE_CONF_DIR}/sites-available/app.conf ADD docker/${APPLICATION_ENV}/fpm/pool.d/app.conf ${PHP_CONF_DIR}/fpm/pool.d/app.conf COPY /docker/${APPLICATION_ENV}/entrypoint.d /entrypoint.d/ RUN a2ensite app && \ service php${PHP_VERSION}-fpm reload No newline at end of file Makefile 0 → 100644 +113 −0 Changes for Makefile: 113 added lines, 0 removed lines. Original line number Diff line number Diff line # On s'appuie sur le .env include .env # Commandes help: @echo "Commandes disponibles:" @echo "" @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) @echo "" @echo "Utilisez 'make <commande>' avec une des commandes ci-dessus." .PHONY: help install: ## Build des conteneurs de l'application docker compose up -d .PHONY: install uninstall: ## Désinstallation docker compose down --rmi all --volumes --remove-orphans docker network rm $(APP_NAME)-network -f .PHONY: uninstall start: ## Démarre les conteneurs de l'application docker compose start .PHONY: start stop: ## Stoppe les conteneurs de l'application docker compose stop .PHONY: stop bash: ## Entrer dans le bash du container php docker exec -it $(APP_NAME)-php /bin/bash .PHONY: bash bash-apache: ## Entrer dans le container Apache docker exec -it $(APP_NAME)-apache /bin/sh .PHONY: bash-apache bash-node: ## Entrer dans le container Node.js docker exec -it $(APP_NAME)-nodejs /bin/sh .PHONY: bash-node logs: ## Afficher les logs des containers docker docker compose logs -f --tail=100 .PHONY: logs update-bdd: ## Mise à jour de la base de données docker exec -it $(APP_NAME)-php /var/www/html/bin/ose-code test6 update-bdd .PHONY: update-bdd update-ddl: ## Mise à jour des définitions de la base de données docker exec -it $(APP_NAME)-php /var/www/html/bin/ose update-ddl docker exec -it $(APP_NAME)-php chown -R $(DEV_HOST_USER_ID):$(DEV_HOST_USER_ID) * .PHONY: update-bdd clear-cache: ## Vide le cache de l'application docker exec -it $(APP_NAME)-php /var/www/html/bin/ose clear-cache .PHONY: clear-cache rebuild: ## Reconstruit tous les conteneurs docker compose down -v docker compose build --no-cache docker compose up -d .PHONY: rebuild clean: ## Vide les caches Docker @echo "===========================================================" @echo " /!\ ATTENTION: DESTRUCTIVE Docker cleanup operation /!\ " @echo "===========================================================" @echo "Cette opération va supprimer tous les objets suivants de votre instance Docker:" @echo " - Tous les containers non utilisés" @echo " - Tous les réseaux non utilisés" @echo " - Toutes les images dockers non utilisées" @echo " - Tous les volumes non utilisés" @echo " - Tous les caches seront vidés" @echo "" @echo "CETTE ACTION NE POURRA PAS ÊTRE ANNULÉE!" @echo "" @read -p "Confirmez-vous ce nettoyage complet ? [o/N] " confirm; \ if [ "$$confirm" = "o" ] || [ "$$confirm" = "O" ]; then \ docker compose down -v; \ docker system prune -af --volumes; \ echo "Ménage fait"; \ else \ echo "Ménage annulé"; \ fi .PHONY: clean No newline at end of file doc/dev-infra/Caddyfile 0 → 100644 +9 −0 Changes for doc/dev-infra/Caddyfile: 9 added lines, 0 removed lines. Original line number Diff line number Diff line ose-dev.localhost.unicaen.fr { tls /certs/localhost.unicaen.fr.crt /certs/localhost.unicaen.fr.key reverse_proxy ose-dev-apache:80 } ose-dev.localhost.unicaen.fr:5133 { tls /certs/localhost.unicaen.fr.crt /certs/localhost.unicaen.fr.key reverse_proxy ose-dev-nodejs:5133 } No newline at end of file Loading
.env.example 0 → 100644 +45 −0 Changes for .env.example: 45 added lines, 0 removed lines. Original line number Diff line number Diff line #---------------------------# # Application # #---------------------------# # nom de l'application, utilisé pour les conteneurs entres autres. # pas de caractères spéciaux autorisés APP_NAME=ose # Nom d'hôte de l'application (monapp.mondomaine.fr) APP_HOST=ose.localhost.unicaen.fr # Nom visible de l'application, à l'affichage #APP_LABEL=OSE # Environnement, 3 valeurs possibles : dev, test, prod APP_ENV=dev # Fuseau horaire de l'application #TZ=Europe/Paris # ID d'utilisateur de la machine hôte DEV_HOST_USER_ID=1000 # Url personnalisée pour utiliser Vite #DEV_VITE_URL=http://ose.localhost.unicaen.fr:5133 # Port personnalisé pour utiliser Vite #DEV_VITE_PORT=5133 #---------------------------# # Config Proxy # #---------------------------# # à configurer uniquement sur les serveurs (règle valable pour Unicaen) #HTTP_PROXY= #HTTPS_PROXY= #NO_PROXY= #---------------------------# # Mail # #---------------------------# # Si MAIL_ENABLED=true et les paramètres de mail sont vides, alors un conteneur local sera cré pour héberger un mail catcher MAIL_ENABLED=true #MAIL_MAILDEV_PORT=1080 #MAIL_SMTP_HOST= #MAIL_SMTP_PORT=25 #MAIL_FROM="ne-pas-repondre@xxx.fr" No newline at end of file
.gitignore +4 −2 Changes for .gitignore: 4 added lines, 2 removed lines. Original line number Diff line number Diff line .env config.local.php config/autoload/*.local.php vendor/* Loading @@ -12,6 +13,7 @@ VERSION composer.phar .phpunit.result.cache .idea .env /.php-cs-fixer.cache deployments/* Makefile supervisord.* docker-compose.yaml No newline at end of file
Dockerfiledeleted 100644 → 0 +0 −50 Changes for Dockerfile: 0 added lines, 50 removed lines. Original line number Diff line number Diff line ########################################################################################### # # Image pour le dev. # # Montage des sources attendu dans le volume "/app" du container. # ########################################################################################### ARG PHP_VERSION FROM unicaen-dev-php${PHP_VERSION}-apache ARG APPLICATION_ENV LABEL maintainer="Laurent LÉCLUSE <laurent.lecluse at unicaen.fr>" ENV APACHE_CONF_DIR=/etc/apache2 \ PHP_CONF_DIR=/etc/php/${PHP_VERSION} ## Installation de packages requis. RUN apt-get update -y RUN apt-get upgrade -y RUN apt-get install -y unoconv gawk # Nettoyage RUN apt-get autoremove -y && apt-get clean && rm -rf /tmp/* /var/tmp/* # Symlink apache access and error logs to stdout/stderr so Docker logs shows them RUN ln -sf /dev/stdout /var/log/apache2/access.log RUN ln -sf /dev/stdout /var/log/apache2/other_vhosts_access.log RUN ln -sf /dev/stderr /var/log/apache2/error.log # Lien pour l'exécutable interne de OSE RUN ln -sf /app/bin/ose /usr/local/bin/ose RUN ln -sf /app/bin/ose-test /usr/local/bin/ose-test RUN ln -sf /app/bin/ose-code /usr/local/bin/ose-code # Config PHP. ADD docker/${APPLICATION_ENV}/php.conf ${PHP_CONF_DIR}/fpm/conf.d/app.ini ADD docker/${APPLICATION_ENV}/php.conf ${PHP_CONF_DIR}/cli/conf.d/app.ini # Configuration Apache et FPM ADD docker/${APPLICATION_ENV}/apache-ports.conf ${APACHE_CONF_DIR}/ports.conf ADD docker/${APPLICATION_ENV}/apache-site.conf ${APACHE_CONF_DIR}/sites-available/app.conf ADD docker/${APPLICATION_ENV}/fpm/pool.d/app.conf ${PHP_CONF_DIR}/fpm/pool.d/app.conf COPY /docker/${APPLICATION_ENV}/entrypoint.d /entrypoint.d/ RUN a2ensite app && \ service php${PHP_VERSION}-fpm reload No newline at end of file
Makefile 0 → 100644 +113 −0 Changes for Makefile: 113 added lines, 0 removed lines. Original line number Diff line number Diff line # On s'appuie sur le .env include .env # Commandes help: @echo "Commandes disponibles:" @echo "" @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) @echo "" @echo "Utilisez 'make <commande>' avec une des commandes ci-dessus." .PHONY: help install: ## Build des conteneurs de l'application docker compose up -d .PHONY: install uninstall: ## Désinstallation docker compose down --rmi all --volumes --remove-orphans docker network rm $(APP_NAME)-network -f .PHONY: uninstall start: ## Démarre les conteneurs de l'application docker compose start .PHONY: start stop: ## Stoppe les conteneurs de l'application docker compose stop .PHONY: stop bash: ## Entrer dans le bash du container php docker exec -it $(APP_NAME)-php /bin/bash .PHONY: bash bash-apache: ## Entrer dans le container Apache docker exec -it $(APP_NAME)-apache /bin/sh .PHONY: bash-apache bash-node: ## Entrer dans le container Node.js docker exec -it $(APP_NAME)-nodejs /bin/sh .PHONY: bash-node logs: ## Afficher les logs des containers docker docker compose logs -f --tail=100 .PHONY: logs update-bdd: ## Mise à jour de la base de données docker exec -it $(APP_NAME)-php /var/www/html/bin/ose-code test6 update-bdd .PHONY: update-bdd update-ddl: ## Mise à jour des définitions de la base de données docker exec -it $(APP_NAME)-php /var/www/html/bin/ose update-ddl docker exec -it $(APP_NAME)-php chown -R $(DEV_HOST_USER_ID):$(DEV_HOST_USER_ID) * .PHONY: update-bdd clear-cache: ## Vide le cache de l'application docker exec -it $(APP_NAME)-php /var/www/html/bin/ose clear-cache .PHONY: clear-cache rebuild: ## Reconstruit tous les conteneurs docker compose down -v docker compose build --no-cache docker compose up -d .PHONY: rebuild clean: ## Vide les caches Docker @echo "===========================================================" @echo " /!\ ATTENTION: DESTRUCTIVE Docker cleanup operation /!\ " @echo "===========================================================" @echo "Cette opération va supprimer tous les objets suivants de votre instance Docker:" @echo " - Tous les containers non utilisés" @echo " - Tous les réseaux non utilisés" @echo " - Toutes les images dockers non utilisées" @echo " - Tous les volumes non utilisés" @echo " - Tous les caches seront vidés" @echo "" @echo "CETTE ACTION NE POURRA PAS ÊTRE ANNULÉE!" @echo "" @read -p "Confirmez-vous ce nettoyage complet ? [o/N] " confirm; \ if [ "$$confirm" = "o" ] || [ "$$confirm" = "O" ]; then \ docker compose down -v; \ docker system prune -af --volumes; \ echo "Ménage fait"; \ else \ echo "Ménage annulé"; \ fi .PHONY: clean No newline at end of file
doc/dev-infra/Caddyfile 0 → 100644 +9 −0 Changes for doc/dev-infra/Caddyfile: 9 added lines, 0 removed lines. Original line number Diff line number Diff line ose-dev.localhost.unicaen.fr { tls /certs/localhost.unicaen.fr.crt /certs/localhost.unicaen.fr.key reverse_proxy ose-dev-apache:80 } ose-dev.localhost.unicaen.fr:5133 { tls /certs/localhost.unicaen.fr.crt /certs/localhost.unicaen.fr.key reverse_proxy ose-dev-nodejs:5133 } No newline at end of file