From c119d8d1cd65ee74b529c4a654131bff7c689df2 Mon Sep 17 00:00:00 2001 From: xgaia Date: Fri, 21 Apr 2023 12:32:35 +0200 Subject: [PATCH 1/2] chore(docker): fix dockerbuild permission issue --- Dockerfile | 8 ++------ README.md | 2 +- entrypoint.sh | 6 ------ 3 files changed, 3 insertions(+), 13 deletions(-) mode change 100644 => 100755 entrypoint.sh diff --git a/Dockerfile b/Dockerfile index d126284..c617dcb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ ENV SERVERNAME=localhost ENV UPLOAD_MAX_FILESIZE=24M ENV POST_MAX_SIZE=24M ENV MAX_FILE_UPLOADS=201 -ENV PDF_STORAGE_PATH= +ENV PDF_STORAGE_PATH=/data ENV DISABLE_ORGANIZATION=false ENV PDF_DEMO_LINK=true @@ -14,15 +14,11 @@ RUN apt update && \ COPY . /usr/local/signaturepdf -RUN chown -R www-data:www-data /usr/local/signaturepdf && chmod 750 -R /usr/local/signaturepdf && \ - chmod 775 -R /usr/local/signaturepdf/entrypoint.sh && \ - envsubst < /usr/local/signaturepdf/config/php.ini > /usr/local/etc/php/conf.d/uploads.ini && \ +RUN envsubst < /usr/local/signaturepdf/config/php.ini > /usr/local/etc/php/conf.d/uploads.ini && \ envsubst < /usr/local/signaturepdf/config/apache.conf > /etc/apache2/sites-available/signaturepdf.conf && \ envsubst < /usr/local/signaturepdf/config/config.ini.tpl > /usr/local/signaturepdf/config/config.ini && \ a2enmod rewrite && a2ensite signaturepdf WORKDIR /usr/local/signaturepdf -USER www-data - CMD /usr/local/signaturepdf/entrypoint.sh diff --git a/README.md b/README.md index 0281779..ecc154d 100644 --- a/README.md +++ b/README.md @@ -95,9 +95,9 @@ Les variables suivantes permettent de configurer le déployement : |`UPLOAD_MAX_FILESIZE`|Taille maximum du fichier PDF à signer|48M|24M| |`POST_MAX_SIZE`|Taille maximum du fichier PDF à signer|48M|24M| |`MAX_FILE_UPLOADS`|Nombre de pages maximum du PDF, ici 200 pages + le PDF d'origine|401|201| -|`PDF_STORAGE_PATH`|chemin vers lequel les fichiers pdf uploadés pourront être stockés|/data|| |`DISABLE_ORGANIZATION`|Desactiver la route Organiser|true|false| |`PDF_DEMO_LINK`|Afficher, retirer ou changer le lien de PDF de démo|false, `link` or `relative path`|true| +| `PDF_STORAGE_PATH` | chemin vers lequel les fichiers pdf uploadés pourront être stockés | /data | /data | ```bash docker run -d --name=signaturepdf -p 8080:80 -e SERVERNAME=pdf.example.org -e UPLOAD_MAX_FILESIZE=48M -e POST_MAX_SIZE=48M -e MAX_FILE_UPLOADS=401 -e PDF_STORAGE_PATH=/data signaturepdf diff --git a/entrypoint.sh b/entrypoint.sh old mode 100644 new mode 100755 index 2449535..d5fe986 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,17 +1,11 @@ #! /bin/bash envsubst < /usr/local/signaturepdf/config/apache.conf > /etc/apache2/sites-available/signaturepdf.conf - envsubst < /usr/local/signaturepdf/config/php.ini > /usr/local/etc/php/conf.d/uploads.ini - envsubst < /usr/local/signaturepdf/config/config.ini.tpl > /usr/local/signaturepdf/config/config.ini -chown -R www-data:www-data /usr/local/signaturepdf && chmod 750 -R /usr/local/signaturepdf - if [[ ! -z $PDF_STORAGE_PATH ]] ; then mkdir -p $PDF_STORAGE_PATH - chown -R www-data:www-data $PDF_STORAGE_PATH - chmod 750 -R $PDF_STORAGE_PATH fi apache2-foreground From 7d4ae2907f1737159d7cce4da20f3313d7954c31 Mon Sep 17 00:00:00 2001 From: xgaia Date: Fri, 21 Apr 2023 12:32:55 +0200 Subject: [PATCH 2/2] style: prettier on README --- README.md | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index ecc154d..9354101 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Liste des instances permettant d'utiliser ce logiciel : - [pdf.hostux.net](https://pdf.hostux.net) - [pdf.nebulae.co](https://pdf.nebulae.co) -*N'hésitez pas à rajouter la votre via une issue ou une pull request* +_N'hésitez pas à rajouter la votre via une issue ou une pull request_ ## License @@ -23,7 +23,7 @@ Logiciel libre sous license AGPL V3 Dépendances : -- php >= 5.6 +- php >= 5.6 - rsvg-convert - pdftk - imagemagick @@ -75,13 +75,13 @@ DocumentRoot /path/to/signaturepdf/public ```bash docker build -t signaturepdf . -```` +``` #### Lancement d'un conteneur ```bash docker run -d --name=signaturepdf -p 8080:80 signaturepdf -```` +``` [localhost:8080](http://localhost:8080) @@ -89,15 +89,15 @@ docker run -d --name=signaturepdf -p 8080:80 signaturepdf Les variables suivantes permettent de configurer le déployement : -|Variable|description|exemple|defaut| -|-----|-----|-----|-----| -|`SERVERNAME`|url de déploiement|`pdf.24eme.fr`|localhost| -|`UPLOAD_MAX_FILESIZE`|Taille maximum du fichier PDF à signer|48M|24M| -|`POST_MAX_SIZE`|Taille maximum du fichier PDF à signer|48M|24M| -|`MAX_FILE_UPLOADS`|Nombre de pages maximum du PDF, ici 200 pages + le PDF d'origine|401|201| -|`DISABLE_ORGANIZATION`|Desactiver la route Organiser|true|false| -|`PDF_DEMO_LINK`|Afficher, retirer ou changer le lien de PDF de démo|false, `link` or `relative path`|true| +| Variable | description | exemple | defaut | +| ---------------------- | ------------------------------------------------------------------ | -------------------------------- | --------- | +| `SERVERNAME` | url de déploiement | `pdf.24eme.fr` | localhost | +| `UPLOAD_MAX_FILESIZE` | Taille maximum du fichier PDF à signer | 48M | 24M | +| `POST_MAX_SIZE` | Taille maximum du fichier PDF à signer | 48M | 24M | +| `MAX_FILE_UPLOADS` | Nombre de pages maximum du PDF, ici 200 pages + le PDF d'origine | 401 | 201 | | `PDF_STORAGE_PATH` | chemin vers lequel les fichiers pdf uploadés pourront être stockés | /data | /data | +| `DISABLE_ORGANIZATION` | Desactiver la route Organiser | true | false | +| `PDF_DEMO_LINK` | Afficher, retirer ou changer le lien de PDF de démo | false, `link` or `relative path` | true | ```bash docker run -d --name=signaturepdf -p 8080:80 -e SERVERNAME=pdf.example.org -e UPLOAD_MAX_FILESIZE=48M -e POST_MAX_SIZE=48M -e MAX_FILE_UPLOADS=401 -e PDF_STORAGE_PATH=/data signaturepdf @@ -109,6 +109,7 @@ Voici un script permettant d'installer la solution sous Linux Alpine (testé en Pensez à éditer la variable "domain" en début de script pour correspondre à l'URL avec laquelle elle sera appelée. Les composants principaux sont : + - php 8 + php-fpm - Nginx - pdftk (installation "manuelle" nécessitant openjdk8) @@ -117,6 +118,7 @@ Les composants principaux sont : - librsvg Ce que fait le script : + - Installation des dépendances - Configuration de php et php-fpm - Configuration d'Nginx @@ -128,7 +130,7 @@ Ce que fait le script : domain='sign.example.com' -apk update +apk update apk add bash nginx git php8 php8-fpm php8-session php8-gd php8-fileinfo openjdk8 imagemagick potrace librsvg cd /tmp @@ -164,7 +166,7 @@ server { server_name ${domain}; client_max_body_size 0; - + root /var/www/signaturepdf/public/; index index.php index.html; @@ -185,7 +187,7 @@ server { fastcgi_buffers 128 128k; fastcgi_param PATH_INFO \$fastcgi_path_info; fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name; - fastcgi_pass 127.0.0.1:9000; + fastcgi_pass 127.0.0.1:9000; } @@ -223,11 +225,13 @@ cp config/config.ini{.example,} ``` Dans ce fichier `config/config.ini`, il suffit ce configurer la variable `PDF_STORAGE_PATH` avec le chemin vers lequel les fichiers pdf uploadés pourront être stockés : + ``` PDF_STORAGE_PATH=/path/to/folder ``` Créer ce dossier : + ``` mkdir /path/to/folder ``` @@ -235,6 +239,7 @@ mkdir /path/to/folder Le serveur web devra avoir les droits en écriture sur ce dossier. Par exemple pour apache : + ``` chown www-data /path/to/folder/to/store/pdf ``` @@ -313,6 +318,3 @@ Pour les tests : Logilab a apporté une contribution financière de 1 365 € TTC à la société 24ème pour développer le mode multi signature. Le développement du logiciel a principalement été réalisé sur le temps de travail de salariés du 24ème. - - -