Revision 13 as of 2015-04-16 16:11:00

Clear message

This page is a scratchpad for Terri's Dockerfile. It probably is missing some things. Suggestions and instructions for use welcome!

#########################################
# Dockerfile to setup GNU Mailman Suite
# Based on Ubuntu
#########################################
# Set the base image to Ubuntu
FROM ubuntu

# File Author / Maintainer
MAINTAINER Terri

# Update the sources and install some basic python stuff
RUN apt-get update
RUN apt-get install -y bzr python3-dev python3-pip python-dev python-pip python-virtualenv

# Get the nodejs stuff
RUN apt-get install -y nodejs npm
RUN npm install -g less
RUN ln -s /usr/bin/nodejs /usr/bin/node

# Set the default directory where CMD will execute
WORKDIR /mailman3

# Get Mailman Bundler
RUN bzr branch lp:mailman-bundler

# Get buildout, go into Mailman Bundler and build
RUN pip install zc.buildout
WORKDIR /mailman3/mailman-bundler
RUN buildout

# Set up virtualenv
RUN virtualenv venv
RUN . venv/bin/activate

# Expose ports
EXPOSE 8000

# Prep some stuff
RUN ./bin/mailman-post-update
RUN ./bin/mailman-web-django-admin createsuperuser
RUN ./bin/mailman start

# This sets the django webserver up to not only run, but binds it to all interfaces, port 8000
ENTRYPOINT ./bin/mailman-web-django-admin runserver 0.0.0.0:8000 

How to build the docker image?

Copy the content above into a file named *Dockerfile* in a directory, and then run the following command.

::

  • $ sudo docker build -t mailman .

This will take some time to build a docker image with the required steps.

How to start the container/mailman3?

::

  • $ sudo docker run mailman

Then find out the container id by following command

::

  • $ sudo docker ps

This will start the mailman docker container. You can find out the ip from *$ sudo docker inspect hash_of_docker" For example I can open "http://172.17.0.15:8000/" in my browser to view Mailman3.