|
Size: 2875
Comment:
|
Size: 3073
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 68: | Line 68: |
| Run this to start the newly built Mailman docker container: |
|
| Line 69: | Line 71: |
| sudo docker run mailman3 | sudo docker run -P mailman3 |
| Line 71: | Line 73: |
This will start the mailman docker container. |
|
| Line 80: | Line 80: |
| You can find out the ip using | The `-P` option exposes the Django port inside the container to localhost on a random port. To find this port do: |
| Line 83: | Line 83: |
| sudo docker inspect hash_of_docker" | sudo docker ps |
| Line 86: | Line 86: |
| For example I can open "http://172.17.0.15:8000/" in my browser to view Mailman3. | and look under the `PORTS` column. For example, if you see: |
| Line 88: | Line 88: |
| Or, if you want to use a single line to generate that url and you're only running that one container, try this: | |
| Line 90: | Line 89: |
| echo "http://$( docker inspect $( docker ps | tail -n 1 | awk '{ print $1; }' ) | grep -i ipaddress | awk '{ print $2; }' | sed 's/[",]*//g' ):8000/" | $ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fa17316ce2d5 mailman3:latest "/bin/sh -c './bin/m 3 minutes ago Up 3 minutes 0.0.0.0:49153->8000/tcp ecstatic_mestorf |
| Line 92: | Line 93: |
You should now be able to open `http://localhost:49153` and get to the !HyperKitty web page. |
This page is a scratchpad for Terri's Dockerfile, which sets up a very default version of Mailman in your container so that you can try out Mailman 3 suite. Suggestions and instructions for use welcome!
Prerequisites
To use this, you will need to have Docker set up. They have docker setup instructions for many different platforms
The Mailman 3 Suite Dockerfile
#########################################
# Dockerfile to setup GNU Mailman Suite
# Based on Ubuntu
#########################################
# Set the base image to Ubuntu
FROM ubuntu
# File Author / Maintainer
MAINTAINER Terri Oda
# Update the sources and install some basic python stuff
RUN apt-get update && \
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 && \
npm install -g less && \
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
Building 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 mailman3 .
This will take some time to build a docker image with the required steps.
Starting the container and mailman3 suite
Run this to start the newly built Mailman docker container:
sudo docker run -P mailman3
Then find out the container id by following command
sudo docker ps
The -P option exposes the Django port inside the container to localhost on a random port. To find this port do:
sudo docker ps
and look under the PORTS column. For example, if you see:
$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fa17316ce2d5 mailman3:latest "/bin/sh -c './bin/m 3 minutes ago Up 3 minutes 0.0.0.0:49153->8000/tcp ecstatic_mestorf
You should now be able to open http://localhost:49153 and get to the HyperKitty web page.
Mac OS X users
The container seems to run without incident on MacOS X, but you can't seem to access it from a local browser for some reason. If anyone can help debug this, we would very much appreciate help!