diff --git a/.fetchmailrc b/.fetchmailrc new file mode 100644 index 0000000..0bc1320 --- /dev/null +++ b/.fetchmailrc @@ -0,0 +1,9 @@ +set logfile "/tmp/fetchmail.log" +poll imap.upc.edu protocol imap: + +username "suport.unitat" +password "contrasenya" +folder "mailtoticket" +mda "/bin/sh -c 'cat | /usr/local/bin/python /mailtoticket/mailtoticket.py'" +ssl +nokeep diff --git a/README.md b/README.md index f56ef82..36ad21f 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,34 @@ El comportament del programa és executar una sèrie de filtres sobre el correu * **Nou Extern** * Crea tiquets per adreces desconegudes amb un usuari predeterminat per configuració. * És una extensió del filtre **Nou**. + + + +Dockerització del MailToTicket +------------------------------ +Dockerfile per la generació d'una imatge amb els components necessaris per el funcionament del Mailtoticket. +S'ha intentat que el contenidor resultant no demani cap configuració post "run" +Les proves de funcionament s'han fet amb la branca amb suport a l'APP rest d'identitat. No s'han provat altres versions. +Un cop aquesta branca es passi a master, s'haurà de modificar l'entrada del dockerfile corresponent. + +L'imatge resultatnt inclou: + python packages + fetchmail + cron + +Procediments del dockerfile +--------------------------- +1- Copiar a la mateixa carpeta del dockerfile els fitxers: + settings_default.py - El fitxer de configuració del mailtoticket. Ha de tenir aquest nom + entrypoint.sh - Conté la configuració del crontab + .fetchmailrc - Configuració del fetchmail per a "descarregar" els mails de la carpeta mailtoticket del correu de suport + +2- Modificar aquests arxius per afegir la informació necessària per la instància + +3- En la mateixa carpeta del dockerfile, executar: + + docker build . -t mailtoticket + Llicència --------- diff --git a/dockerfile b/dockerfile new file mode 100644 index 0000000..01a33f0 --- /dev/null +++ b/dockerfile @@ -0,0 +1,20 @@ +FROM python:2.7 +RUN git clone --single-branch --branch feature_api_rest_identitat https://github.com/UPC/mailtoticket.git + +WORKDIR /mailtoticket + +COPY settings_default.py . +COPY entrypoint.sh . +COPY .fetchmailrc /root/ + +RUN apt-get update +RUN apt-get upgrade -y +RUN apt-get install -y fetchmail +RUN apt-get install -y cron +RUN pip install --no-cache-dir -r requirements.txt + +RUN chmod 755 entrypoint.sh +RUN chmod 600 /root/.fetchmailrc + + +ENTRYPOINT /mailtoticket/entrypoint.sh \ No newline at end of file diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..aa53f07 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,10 @@ +#!/bin/bash +echo "Mailtoticket has been started" + +# Setup a cron schedule +echo "MAILTO=mailtoticket@unitat.upc.edu +*/5 * * * * /usr/bin/fetchmail --silent +# This extra line makes it a valid cron" > scheduler.txt + +crontab scheduler.txt +cron -f \ No newline at end of file