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
|
fi
|
||||||
|
|
||||||
REG_URL=${REGISTRY}_URL
|
REG_URL=${REGISTRY}_URL
|
||||||
|
TAG=0.1
|
||||||
|
|
||||||
if [ "$EVENT_TYPE" = "cron" ] || [ "$DEV" = "true" ]; then
|
if [ "$EVENT_TYPE" = "cron" ] || [ "$DEV" = "true" ]; then
|
||||||
python3 -m venv venv
|
python3 -m venv venv
|
||||||
@@ -31,7 +32,7 @@ if [ "$EVENT_TYPE" = "cron" ] || [ "$DEV" = "true" ]; then
|
|||||||
--label version.core="$CORE_REF" \
|
--label version.core="$CORE_REF" \
|
||||||
--label version.mm3-hk="$MM3_HK_REF" \
|
--label version.mm3-hk="$MM3_HK_REF" \
|
||||||
--label version.git_commit="$COMMIT_ID" \
|
--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.
|
# Build the mailman-web image.
|
||||||
$DOCKER build -f web/Dockerfile.dev \
|
$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 CLIENT_REF=$CLIENT_REF \
|
||||||
--build-arg HYPERKITTY_REF=$HYPERKITTY_REF \
|
--build-arg HYPERKITTY_REF=$HYPERKITTY_REF \
|
||||||
--build-arg DJ_MM3_REF=$DJ_MM3_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\
|
$DOCKER build -f postorius/Dockerfile.dev\
|
||||||
--label version.git_commit="$COMMIT_ID"\
|
--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 POSTORIUS_REF=$POSTORIUS_REF \
|
||||||
--build-arg CLIENT_REF=$CLIENT_REF \
|
--build-arg CLIENT_REF=$CLIENT_REF \
|
||||||
--build-arg DJ_MM3_REF=$DJ_MM3_REF \
|
--build-arg DJ_MM3_REF=$DJ_MM3_REF \
|
||||||
-t ${!REG_URL}/maxking/postorius:rolling postorius/
|
-t maxking/postorius:rolling postorius/
|
||||||
else
|
else
|
||||||
# Do the normal building process.
|
# Do the normal building process.
|
||||||
$DOCKER build -t ${!REG_URL}/maxking/mailman-core:$TAG core/
|
$DOCKER build -t maxking/mailman-core:$TAG core/
|
||||||
$DOCKER build -t ${!REG_URL}/maxking/mailman-web:$TAG web/
|
$DOCKER build -t maxking/mailman-web:$TAG web/
|
||||||
$DOCKER build -t ${!REG_URL}/maxking/postorius:$TAG postorius/
|
$DOCKER build -t maxking/postorius:$TAG postorius/
|
||||||
fi
|
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