1
0
mirror of https://github.com/24eme/signaturepdf.git synced 2023-08-25 09:33:08 +02:00

Merge pull request #55 from xgaia/fix/dockerfile

Fix/dockerfile
This commit is contained in:
Vincent LAURENT 2023-05-02 23:39:14 +02:00
commit d6b6b43ac2
3 changed files with 23 additions and 31 deletions

View File

@ -4,7 +4,7 @@ ENV SERVERNAME=localhost
ENV UPLOAD_MAX_FILESIZE=24M ENV UPLOAD_MAX_FILESIZE=24M
ENV POST_MAX_SIZE=24M ENV POST_MAX_SIZE=24M
ENV MAX_FILE_UPLOADS=201 ENV MAX_FILE_UPLOADS=201
ENV PDF_STORAGE_PATH= ENV PDF_STORAGE_PATH=/data
ENV DISABLE_ORGANIZATION=false ENV DISABLE_ORGANIZATION=false
ENV PDF_DEMO_LINK=true ENV PDF_DEMO_LINK=true
@ -14,15 +14,11 @@ RUN apt update && \
COPY . /usr/local/signaturepdf COPY . /usr/local/signaturepdf
RUN chown -R www-data:www-data /usr/local/signaturepdf && chmod 750 -R /usr/local/signaturepdf && \ RUN envsubst < /usr/local/signaturepdf/config/php.ini > /usr/local/etc/php/conf.d/uploads.ini && \
chmod 775 -R /usr/local/signaturepdf/entrypoint.sh && \
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/apache.conf > /etc/apache2/sites-available/signaturepdf.conf && \
envsubst < /usr/local/signaturepdf/config/config.ini.tpl > /usr/local/signaturepdf/config/config.ini && \ envsubst < /usr/local/signaturepdf/config/config.ini.tpl > /usr/local/signaturepdf/config/config.ini && \
a2enmod rewrite && a2ensite signaturepdf a2enmod rewrite && a2ensite signaturepdf
WORKDIR /usr/local/signaturepdf WORKDIR /usr/local/signaturepdf
USER www-data
CMD /usr/local/signaturepdf/entrypoint.sh CMD /usr/local/signaturepdf/entrypoint.sh

View File

@ -11,7 +11,7 @@ Liste des instances permettant d'utiliser ce logiciel :
- [pdf.hostux.net](https://pdf.hostux.net) - [pdf.hostux.net](https://pdf.hostux.net)
- [pdf.nebulae.co](https://pdf.nebulae.co) - [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 ## License
@ -75,13 +75,13 @@ DocumentRoot /path/to/signaturepdf/public
```bash ```bash
docker build -t signaturepdf . docker build -t signaturepdf .
```` ```
#### Lancement d'un conteneur #### Lancement d'un conteneur
```bash ```bash
docker run -d --name=signaturepdf -p 8080:80 signaturepdf docker run -d --name=signaturepdf -p 8080:80 signaturepdf
```` ```
[localhost:8080](http://localhost:8080) [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 : Les variables suivantes permettent de configurer le déployement :
|Variable|description|exemple|defaut| | Variable | description | exemple | defaut |
|-----|-----|-----|-----| | ---------------------- | ------------------------------------------------------------------ | -------------------------------- | --------- |
|`SERVERNAME`|url de déploiement|`pdf.24eme.fr`|localhost| | `SERVERNAME` | url de déploiement | `pdf.24eme.fr` | localhost |
|`UPLOAD_MAX_FILESIZE`|Taille maximum du fichier PDF à signer|48M|24M| | `UPLOAD_MAX_FILESIZE` | Taille maximum du fichier PDF à signer | 48M | 24M |
|`POST_MAX_SIZE`|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| | `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|| | `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| | `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_DEMO_LINK` | Afficher, retirer ou changer le lien de PDF de démo | false, `link` or `relative path` | true |
```bash ```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 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. Pensez à éditer la variable "domain" en début de script pour correspondre à l'URL avec laquelle elle sera appelée.
Les composants principaux sont : Les composants principaux sont :
- php 8 + php-fpm - php 8 + php-fpm
- Nginx - Nginx
- pdftk (installation "manuelle" nécessitant openjdk8) - pdftk (installation "manuelle" nécessitant openjdk8)
@ -117,6 +118,7 @@ Les composants principaux sont :
- librsvg - librsvg
Ce que fait le script : Ce que fait le script :
- Installation des dépendances - Installation des dépendances
- Configuration de php et php-fpm - Configuration de php et php-fpm
- Configuration d'Nginx - Configuration d'Nginx
@ -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 : 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 PDF_STORAGE_PATH=/path/to/folder
``` ```
Créer ce dossier : Créer ce dossier :
``` ```
mkdir /path/to/folder mkdir /path/to/folder
``` ```
@ -235,6 +239,7 @@ mkdir /path/to/folder
Le serveur web devra avoir les droits en écriture sur ce dossier. Le serveur web devra avoir les droits en écriture sur ce dossier.
Par exemple pour apache : Par exemple pour apache :
``` ```
chown www-data /path/to/folder/to/store/pdf 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. 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. Le développement du logiciel a principalement été réalisé sur le temps de travail de salariés du 24ème.

6
entrypoint.sh Normal file → Executable file
View File

@ -1,17 +1,11 @@
#! /bin/bash #! /bin/bash
envsubst < /usr/local/signaturepdf/config/apache.conf > /etc/apache2/sites-available/signaturepdf.conf 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/php.ini > /usr/local/etc/php/conf.d/uploads.ini
envsubst < /usr/local/signaturepdf/config/config.ini.tpl > /usr/local/signaturepdf/config/config.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 if [[ ! -z $PDF_STORAGE_PATH ]] ; then
mkdir -p $PDF_STORAGE_PATH mkdir -p $PDF_STORAGE_PATH
chown -R www-data:www-data $PDF_STORAGE_PATH
chmod 750 -R $PDF_STORAGE_PATH
fi fi
apache2-foreground apache2-foreground