Merge PR from @chrros95
Several Changes: - Uwsgi now listens on two sockets 8080 for http protocol and 8000 for uwsgi protocol - Add a read_timeout in documentation for Nginx configuration - Expose 8024 properly in Core image - Expose 8080 and 8000 both in Web image - Rearange the commands to get even less number of layers. - Add SIGINT as stop signal in web because uwsgi needs it shut down gracefully - Enable threads in default uwsgi configuration Fix #64, Fix #15
This commit is contained in:
committed by
Abhilash Raj
parent
17aede3614
commit
f6f4d36d64
@@ -309,7 +309,7 @@ server {
|
||||
# First attempt to serve request as file, then
|
||||
include uwsgi_params;
|
||||
uwsgi_pass 172.19.199.3:8000;
|
||||
|
||||
uwsgi_read_timeout 300;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -369,4 +369,4 @@ more details.
|
||||
[11]: https://mailman.readthedocs.io/en/latest/src/mailman/docs/database.html
|
||||
[12]: http://www.postfix.org/
|
||||
[13]: http://semver.org/
|
||||
[14]: https://docs.docker.com/engine/security/trust/content_trust/
|
||||
[14]: https://docs.docker.com/engine/security/trust/content_trust/
|
||||
@@ -2,25 +2,25 @@ FROM python:3.6-alpine
|
||||
|
||||
MAINTAINER Abhilash Raj
|
||||
|
||||
# Install the latest master branch of the mailman directly
|
||||
# from the Gitlab.
|
||||
#Add startup script to container
|
||||
ADD assets/run.sh /opt/run.sh
|
||||
|
||||
#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 \
|
||||
&& apk add postgresql-dev bash su-exec postgresql-client \
|
||||
&& pip install psycopg2 mailman==3.1.0 mailman-hyperkitty==1.1.0 \
|
||||
&& apk del build-deps
|
||||
|
||||
ADD assets/run.sh /opt/run.sh
|
||||
&& apk del build-deps \
|
||||
&& adduser -S mailman \
|
||||
&& chmod a+x /opt/run.sh
|
||||
|
||||
# Change the working directory.
|
||||
WORKDIR /opt/mailman
|
||||
|
||||
EXPOSE 8001
|
||||
|
||||
ENTRYPOINT ["/opt/run.sh"]
|
||||
#Expose the ports for the api (8001) and lmtp (8024)
|
||||
EXPOSE 8001 8024
|
||||
|
||||
ENV MAILMAN_CONFIG_FILE /etc/mailman.cfg
|
||||
|
||||
RUN adduser -S mailman
|
||||
|
||||
CMD ["/usr/local/bin/master"]
|
||||
ENTRYPOINT ["/opt/run.sh"]
|
||||
CMD ["/usr/local/bin/master"]
|
||||
@@ -5,7 +5,7 @@ set -e
|
||||
curl -u restadmin:restpass http://172.19.199.2:8001/3.1/system
|
||||
|
||||
# Check to see if postorius is working.
|
||||
curl -L http://172.19.199.3:8000/postorius/lists | grep "Mailing List"
|
||||
curl -L http://172.19.199.3:8080/postorius/lists | grep "Mailing List"
|
||||
|
||||
# Check to see if hyperkitty is working.
|
||||
curl -L http://172.19.199.3:8000/hyperkitty/ | grep "Available lists"
|
||||
curl -L http://172.19.199.3:8080/hyperkitty/ | grep "Available lists"
|
||||
|
||||
@@ -3,7 +3,13 @@ FROM python:2.7
|
||||
MAINTAINER Abhilash Raj
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
# Add needed files for uwsgi server + settings for django
|
||||
ADD mailman-web /opt/mailman-web
|
||||
# Add startup script to container
|
||||
ADD assets/run.sh /opt/run.sh
|
||||
|
||||
# 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 apt-get update \
|
||||
&& apt-get install -y --no-install-recommends ruby-sass \
|
||||
wget \
|
||||
@@ -18,18 +24,19 @@ RUN apt-get update \
|
||||
psycopg2 \
|
||||
dj-database-url \
|
||||
pymysql \
|
||||
&& python -m pip install -U django==1.10
|
||||
|
||||
ADD mailman-web /opt/mailman-web
|
||||
|
||||
RUN useradd -M -U -u 1000 mailman
|
||||
|
||||
ADD assets/run.sh /opt/run.sh
|
||||
&& python -m pip install -U django==1.10 \
|
||||
&& useradd -M -U -u 1000 mailman \
|
||||
&& chmod u+x /opt/run.sh \
|
||||
&& chown mailman /opt/mailman-web/* \
|
||||
&& chmod u+x /opt/mailman-web/manage.py
|
||||
|
||||
WORKDIR /opt/mailman-web
|
||||
|
||||
EXPOSE 8000
|
||||
# Expose port 8000 for uwsgi and port 8080 for http
|
||||
EXPOSE 8000 8080
|
||||
|
||||
# Use stop signal for uwsgi server
|
||||
STOPSIGNAL SIGINT
|
||||
|
||||
ENTRYPOINT ["/opt/run.sh"]
|
||||
|
||||
CMD ["uwsgi", "--ini", "/opt/mailman-web/uwsgi.ini"]
|
||||
CMD ["uwsgi", "--ini", "/opt/mailman-web/uwsgi.ini"]
|
||||
@@ -1,6 +1,10 @@
|
||||
[uwsgi]
|
||||
# Port on which uwsgi will be listening.
|
||||
http = :8000
|
||||
uwsgi-socket = 0.0.0.0:8000
|
||||
http-socket = 0.0.0.0:8080
|
||||
|
||||
#Enable threading for python
|
||||
enable-threads = true
|
||||
|
||||
# Move to the directory wher the django files are.
|
||||
chdir = /opt/mailman-web
|
||||
|
||||
Reference in New Issue
Block a user