Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mailinabox
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
mailinabox
Commits
5ceec760
Commit
5ceec760
authored
May 02, 2014
by
Paul Jimenez
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Better Dockerfile support
parent
80bf6071
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
75 additions
and
24 deletions
+75
-24
Dockerfile
containers/docker/Dockerfile
+17
-12
setup_services.sh
containers/docker/setup_services.sh
+58
-0
start_services.sh
containers/docker/start_services.sh
+0
-12
No files found.
containers/docker/Dockerfile
View file @
5ceec760
...
...
@@ -6,7 +6,11 @@
# sudo docker.io build -t box .
# sudo docker.io run -i -t box
FROM
ubuntu:14.04
# Revert to phusion's baseimage once they upgrade to Ubuntu 14.04
#FROM phusion/baseimage:<version-based-on-14.04>
# For now use an upgraded image provided by pjz, based on his
# a PR: https://github.com/phusion/baseimage-docker/pull/64
FROM
pjzz/phusion-baseimage:0.9.10
MAINTAINER
Joshua Tauberer (http://razor.occams.info)
ENV
PUBLIC_HOSTNAME box.local
...
...
@@ -16,19 +20,20 @@ ENV PUBLIC_HOSTNAME box.local
# 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.12
3
.123
ENV
PUBLIC_IP 127.0.12
2
.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"
RUN
service ssh restart
# Turn off password-based authentication; for ssh access see the phusion-baseimage docs
RUN
sed
-i
's/^#\s*\(PasswordAuthentication no\)/\1/'
/etc/ssh/sshd_config
# Start our setup.
RUN
apt-get
install
-q
-y
git
# install some tools to install mailinabox
RUN
DEBIAN_FRONTEND
=
noninteractive apt-get update
&&
apt-get
install
-q
-y
git ca-certificates wget
&&
apt-get clean
# actually install mailinabox
RUN
git clone https://github.com/joshdata/mailinabox
RUN
cd
mailinabox
;
scripts/start.sh
RUN
cd
mailinabox
&&
scripts/start.sh
# configure mailinabox services
ADD
setup_services.sh /usr/local/bin/setup_services.sh
RUN
bash /usr/local/bin/setup_services.sh
# Launch configuration.
ADD
start_services.sh /usr/local/bin/start_services.sh
CMD
bash /usr/local/bin/start_services.sh
EXPOSE
22 25 53 443 587 993
containers/docker/setup_services.sh
0 → 100644
View file @
5ceec760
#!/bin/bash
echo
"Setting up Mail-in-a-Box services..."
SERVICES
=
"nsd postfix dovecot opendkim nginx php-fastcgi"
for
service
in
$SERVICES
;
do
mkdir
-p
/etc/service/
$service
done
cat
<<
EORUN
>/etc/service/nsd/run
#!/bin/sh
exec /usr/bin/nsd -d
EORUN
cat
<<
EORUN
>/etc/service/postfix/run
#!/bin/sh
# from http://smarden.org/runit/runscripts.html#postfix
exec 1>&2
daemon_directory=/usr/lib/postfix
\
command_directory=/usr/sbin
\
config_directory=/etc/postfix
\
queue_directory=/var/spool/postfix
\
mail_owner=postfix
\
setgid_group=postdrop
\
/etc/postfix/postfix-script check || exit 1
exec /usr/lib/postfix/master
EORUN
cat
<<
EORUN
>/etc/service/dovecot/run
#!/bin/sh
exec dovecot
EORUN
cat
<<
EORUN
>/etc/service/opendkim/run
#!/bin/sh
exec opendkim -f -x /etc/opendkim.conf -u opendkim -P /var/run/opendkim/opendkim.pid
EORUN
echo
"daemon off;"
>>
/etc/nginx/nginx.conf
cat
<<
EORUN
>/etc/service/nginx/run
#!/bin/sh
exec nginx
EORUN
cat
<<
EORUN
>/etc/service/php-fastcgi/run
#!/bin/bash
export PHP_FCGI_CHILDREN=4 PHP_FCGI_MAX_REQUESTS=1000
exec /usr/bin/php-cgi -q -b /tmp/php-fastcgi.www-data.sock -c /etc/php5/cgi/php.ini
EORUN
for
service
in
$SERVICES
;
do
chmod
a+x /etc/service/
$service
/run
done
echo
"Your Mail-in-a-Box services are configured."
containers/docker/start_services.sh
deleted
100644 → 0
View file @
80bf6071
#!/bin/bash
echo
"Starting Mail-in-a-Box services..."
service nsd start
service postfix start
dovecot
# it's integration with Upstart doesn't work in docker
service opendkim start
service nginx start
service php-fastcgi start
echo
"Your Mail-in-a-Box is running."
bash
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment