2014-04-25 16:39:14 +00:00
|
|
|
# Mail-in-a-Box Dockerfile
|
|
|
|
# see https://www.docker.io
|
|
|
|
###########################
|
|
|
|
|
2014-05-02 02:29:00 +00:00
|
|
|
# To build the image:
|
2014-04-25 16:39:14 +00:00
|
|
|
# sudo docker.io build -t box .
|
2014-05-02 02:29:00 +00:00
|
|
|
|
|
|
|
# To run a container for testing (with a command prompt and no publicly exposed ports):
|
|
|
|
# sudo docker.io run -i -t -P box
|
|
|
|
|
|
|
|
# Or to run in the background and expose all of the ports so that the *host* acts as a Mail-in-a-Box:
|
|
|
|
# (the SSH port is only available locally, but other ports are exposed publicly and must be available
|
|
|
|
# otherwise the container won't start)
|
|
|
|
# sudo docker.io run -d -p 22 -p 25:25 -p 53:53/udp -p 443:443 -p 587:587 -p 993:993 box
|
2014-04-25 16:39:14 +00:00
|
|
|
|
|
|
|
FROM ubuntu:14.04
|
|
|
|
MAINTAINER Joshua Tauberer (http://razor.occams.info)
|
|
|
|
|
|
|
|
ENV PUBLIC_HOSTNAME box.local
|
|
|
|
|
|
|
|
# The PUBLIC_IP is only used for serving DNS, which means it is only
|
|
|
|
# useful if we set it to the host machine's IP address and have the
|
|
|
|
# host forward its port 53 (TCP/UDP) traffic to the docker container.
|
|
|
|
# Since we can't get the host's IP address here, we'll set this to
|
|
|
|
# a dummy value.
|
|
|
|
ENV PUBLIC_IP 127.0.123.123
|
|
|
|
|
|
|
|
# Our install will fail if SSH is installed and allows password-based authentication.
|
|
|
|
RUN apt-get install -q -y openssh-server
|
|
|
|
RUN sed -i /etc/ssh/sshd_config -e "s/^#PasswordAuthentication yes/PasswordAuthentication no/g"
|
|
|
|
|
2014-05-01 19:51:29 +00:00
|
|
|
# Add this repo into the image so we have the configuration scripts.
|
|
|
|
ADD scripts /usr/local/mailinabox/scripts
|
2014-05-02 02:18:45 +00:00
|
|
|
ADD conf /usr/local/mailinabox/conf
|
2014-05-01 19:51:29 +00:00
|
|
|
ADD tools /usr/local/mailinabox/tools
|
|
|
|
|
|
|
|
# Start the configuration.
|
|
|
|
RUN cd /usr/local/mailinabox; scripts/start.sh
|
2014-04-25 16:39:14 +00:00
|
|
|
|
2014-05-02 02:18:45 +00:00
|
|
|
# How the instance is launched.
|
|
|
|
ADD containers/docker /usr/local/mailinabox/containers/docker
|
2014-05-01 19:51:29 +00:00
|
|
|
CMD bash /usr/local/mailinabox/containers/docker/start_services.sh
|
2014-04-25 16:39:14 +00:00
|
|
|
EXPOSE 22 25 53 443 587 993
|