diff --git a/core/Dockerfile.dev b/core/Dockerfile.dev new file mode 100644 index 0000000..7e9673f --- /dev/null +++ b/core/Dockerfile.dev @@ -0,0 +1,29 @@ +FROM python:3.6-alpine + +MAINTAINER Abhilash Raj + +#Add startup script to container +COPY docker-entrypoint.sh /usr/local/bin/ + +#Install all required packages, add user for executing mailman and set execution +#rights for startup script +RUN apk update \ + && apk add --virtual build-deps gcc python3-dev musl-dev postgresql-dev git \ + && apk add bash su-exec postgresql-client mysql-client \ + && pip install -U psycopg2 \ + git+https://gitlab.com/mailman/mailman.git?ref=master \ + git+https://gitlab.com/mailman/mailman-hyperkitty.git?ref=master \ + pymysql \ + && apk del build-deps \ + && adduser -S mailman + +# Change the working directory. +WORKDIR /opt/mailman + +#Expose the ports for the api (8001) and lmtp (8024) +EXPOSE 8001 8024 + +ENV MAILMAN_CONFIG_FILE /etc/mailman.cfg + +ENTRYPOINT ["docker-entrypoint.sh"] +CMD ["master"] diff --git a/web/Dockerfile.dev b/web/Dockerfile.dev new file mode 100644 index 0000000..5494ffe --- /dev/null +++ b/web/Dockerfile.dev @@ -0,0 +1,43 @@ +FROM python:2.7-alpine3.6 + +MAINTAINER Abhilash Raj + +# Add needed files for uwsgi server + settings for django +COPY mailman-web /opt/mailman-web +# Add startup script to container +COPY docker-entrypoint.sh /usr/local/bin/ + +# Install packages and dependencies for postorius and hyperkitty Add user for +# executing apps, change ownership for uwsgi+django files and set execution +# rights for management script +RUN set -ex \ + && apk add --no-cache --virtual .build-deps gcc libc-dev linux-headers \ + postgresql-dev mariadb-dev \ + && apk add --no-cache --virtual .mailman-rundeps bash sassc \ + postgresql-client mysql-client py-mysqldb \ + && pip install -U git+https://gitlab.com/mailman/mailmanclient?ref=master \ + git+https://gitlab.com/mailman/postorius?ref=master \ + git+https://gitlab.com/mailman/hyperkitty?ref=master \ + git+https://gitlab.com/mailman/django-mailman3?ref=master \ + whoosh \ + uwsgi \ + psycopg2 \ + dj-database-url \ + mysqlclient \ + && pip install -U django==1.10 \ + && apk del .build-deps \ + && addgroup -S mailman \ + && adduser -S -G mailman mailman \ + && chown -R mailman /opt/mailman-web/ \ + && chmod u+x /opt/mailman-web/manage.py + +WORKDIR /opt/mailman-web + +# Expose port 8000 for uwsgi and port 8080 for http +EXPOSE 8000 8080 + +# Use stop signal for uwsgi server +STOPSIGNAL SIGINT + +ENTRYPOINT ["docker-entrypoint.sh"] +CMD ["uwsgi", "--ini", "/opt/mailman-web/uwsgi.ini"]