Add a Dockerfile.dev to create build container. (#253)
This commit is contained in:
13
build.sh
13
build.sh
@@ -10,6 +10,7 @@ if [ "$1" = "dev" ]; then
|
||||
fi
|
||||
|
||||
REG_URL=${REGISTRY}_URL
|
||||
TAG=0.1
|
||||
|
||||
if [ "$EVENT_TYPE" = "cron" ] || [ "$DEV" = "true" ]; then
|
||||
python3 -m venv venv
|
||||
@@ -31,7 +32,7 @@ if [ "$EVENT_TYPE" = "cron" ] || [ "$DEV" = "true" ]; then
|
||||
--label version.core="$CORE_REF" \
|
||||
--label version.mm3-hk="$MM3_HK_REF" \
|
||||
--label version.git_commit="$COMMIT_ID" \
|
||||
-t ${!REG_URL}/maxking/mailman-core:rolling core/
|
||||
-t maxking/mailman-core:rolling core/
|
||||
|
||||
# Build the mailman-web image.
|
||||
$DOCKER build -f web/Dockerfile.dev \
|
||||
@@ -44,7 +45,7 @@ if [ "$EVENT_TYPE" = "cron" ] || [ "$DEV" = "true" ]; then
|
||||
--build-arg CLIENT_REF=$CLIENT_REF \
|
||||
--build-arg HYPERKITTY_REF=$HYPERKITTY_REF \
|
||||
--build-arg DJ_MM3_REF=$DJ_MM3_REF \
|
||||
-t ${!REG_URL}/maxking/mailman-web:rolling web/
|
||||
-t maxking/mailman-web:rolling web/
|
||||
|
||||
$DOCKER build -f postorius/Dockerfile.dev\
|
||||
--label version.git_commit="$COMMIT_ID"\
|
||||
@@ -54,10 +55,10 @@ if [ "$EVENT_TYPE" = "cron" ] || [ "$DEV" = "true" ]; then
|
||||
--build-arg POSTORIUS_REF=$POSTORIUS_REF \
|
||||
--build-arg CLIENT_REF=$CLIENT_REF \
|
||||
--build-arg DJ_MM3_REF=$DJ_MM3_REF \
|
||||
-t ${!REG_URL}/maxking/postorius:rolling postorius/
|
||||
-t maxking/postorius:rolling postorius/
|
||||
else
|
||||
# Do the normal building process.
|
||||
$DOCKER build -t ${!REG_URL}/maxking/mailman-core:$TAG core/
|
||||
$DOCKER build -t ${!REG_URL}/maxking/mailman-web:$TAG web/
|
||||
$DOCKER build -t ${!REG_URL}/maxking/postorius:$TAG postorius/
|
||||
$DOCKER build -t maxking/mailman-core:$TAG core/
|
||||
$DOCKER build -t maxking/mailman-web:$TAG web/
|
||||
$DOCKER build -t maxking/postorius:$TAG postorius/
|
||||
fi
|
||||
|
||||
48
postorius/Dockerfile.dev
Normal file
48
postorius/Dockerfile.dev
Normal file
@@ -0,0 +1,48 @@
|
||||
FROM python:3.6-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/
|
||||
|
||||
ARG POSTORIUS_REF
|
||||
ARG DJ_MM3_REF
|
||||
ARG CLIENT_REF
|
||||
|
||||
# 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 git \
|
||||
postgresql-dev mariadb-dev \
|
||||
&& apk add --no-cache --virtual .mailman-rundeps bash \
|
||||
postgresql-client mysql-client py-mysqldb curl mailcap \
|
||||
&& pip install -U git+https://gitlab.com/mailman/mailmanclient@${CLIENT_REF} \
|
||||
git+https://gitlab.com/mailman/postorius@${POSTORIUS_REF} \
|
||||
whoosh \
|
||||
uwsgi \
|
||||
psycopg2 \
|
||||
dj-database-url \
|
||||
mysqlclient \
|
||||
&& pip install -U django>=1.11\
|
||||
&& pip install -U git+https://gitlab.com/mailman/django-mailman3@${DJ_MM3_REF} \
|
||||
&& 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 http and port 8080 for uwsgi
|
||||
# (see web/mailman-web/uwsgi.ini#L2-L4)
|
||||
EXPOSE 8000 8080
|
||||
|
||||
# Use stop signal for uwsgi server
|
||||
STOPSIGNAL SIGINT
|
||||
|
||||
ENTRYPOINT ["docker-entrypoint.sh"]
|
||||
|
||||
CMD ["uwsgi", "--ini", "/opt/mailman-web/uwsgi.ini"]
|
||||
Reference in New Issue
Block a user