Comments (27)
Ill work on getting this dockerized in my fork.
from mailinabox.
Guys I'm closing this issue. Docker is too hard to set up, and there's a Vagrantfile now instead.
Last time I tested the Dockerfile, some aspects of mail seemed to be working but incoming mail wasn't ending up in an inbox.
I'm deleting all of the Docker work in 2bbb7a5 so that users don't mistakenly think the Dockerfile works. If anyone can get Docker completely working & tested, I'd be happy to merge it back in.
Thanks everyone for giving it a go.
from mailinabox.
I added an initial Dockerfile:
f713d92
from mailinabox.
+1 Docker is awesome.
from mailinabox.
I'm working on it.
from mailinabox.
I'll submit a pull request once it's ready.
from mailinabox.
+1 This will be huge.
from mailinabox.
@JoshData is ubuntu 14.04 a necessity? Docker hasn't released a canonical image for Ubuntu 14.04 yet. Would 13.10 suffice?
from mailinabox.
I'm going forward with 13.10 for now. It will be easy enough to upgrade once the canonical 14.04 Docker image is released.
from mailinabox.
As a first step toward dockerizing, I vagrantized mailinabox so I could run it on a local virtual machine in virtualbox. The vagrantizing is still a work in progress -- I haven't run the tests yet. I'll get to those after sleeping ;). Then dockerizing.
You can watch the progress here: https://github.com/chrishaum/mailinabox/commits/master
from mailinabox.
Oh, and I am using an ubuntu 14.04 image for the Vagrant installation.
from mailinabox.
+1 This was my first thought when I heard about this project. Will test it out when it's dockerized!
from mailinabox.
Hi @JoshData I left you a comment on the Dockerfile, I'll just post it here too :)
Thanks for providing a Dockerfile. Unfortunately I am having issues with running a container with start_services.sh. Docker needs a continuously running process, start_services.sh returns 0 upon starting the services. Does that happen to you too?
If you guys want, I can write a supervisord script for this image. Supervisord also handles failure and automatically manages processes.
from mailinabox.
Hi, @PirosB3. It seemed to be working for me but maybe not.
Rather than using supervisord, it should be as simple as having start_services.sh never exit. Does adding
cat > /dev/null
to the end fix it?
from mailinabox.
Yes that would definitely do the trick.
Just one small concern: as this images hosts a number of services, are we
sure that none of them rely on a correct init process?
http://phusion.github.io/baseimage-docker/
Using start_services.sh will not even allow cronjobs to run, or any other
ubuntu-related routine. Also, there have been a number of issues related to
zombie processes and memory leaks due to this approach.
2014-04-29 17:10 GMT+01:00 Joshua Tauberer [email protected]:
Hi, @PirosB3 https://github.com/PirosB3. It seemed to be working for me
but maybe not.Rather than using supervisord, it should be as simple as having
start_services.sh never exit. Does addingcat > /dev/null
to the end fix it?
—
Reply to this email directly or view it on GitHubhttps://github.com//issues/16#issuecomment-41696513
.
PirosB3
https://github.com/PirosB3 http://pirosb3.com
from mailinabox.
Yikes. Okay. We should definitely use that!
from mailinabox.
You really don't want to use the current Dockerfile - docker tries hard to pretend that an image is like a single process, mostly around the start/stop semantics. Doing docker stop <container>
more-or-less sends SIGKILL to the process that docker start
started. Which works well with, systems like supervisord, because they pass on the SIGKILL to their child processes (or shut them down in configurable ways). Not so much with the start_services.sh
approach.
EDITED: Hrm, looks like I restated (poorly) the dcontents of @PirosB3 s link. Oh well.
from mailinabox.
Correct. Paul, would you suggest any good approach? What do you think of
the phusion docker image as a starting point?
On 1 May 2014 15:04, "Paul Jimenez" [email protected] wrote:
You really don't want to use the current Dockerfile - docker tries hard to
pretend that an image is like a single process, mostly around the
start/stop semantics. Doing docker stop more-or-less sends
SIGKILL to the process that docker start started. Which works well with,
systems like supervisord, because they pass on the SIGKILL to their child
processes (or shut them down in configurable ways). Not so much with the
start_services.sh approach.—
Reply to this email directly or view it on GitHubhttps://github.com//issues/16#issuecomment-41912358
.
from mailinabox.
Yeah, it's fine. I've got an approach half-finished but not tested. I'll submit a PR once it's done.
from mailinabox.
The phusion image looks like a decent starting point, but it has one issue: it's based on Ubuntu 12.04 and mailinabox requires 14.04. Maybe they'll update it? Or I could fork it until they do. I have a dockerfile repo.
from mailinabox.
Thanks for looking into this guys.
from mailinabox.
Give me a shout if you need a hand! It's a really cool project
On 1 May 2014 19:17, "Joshua Tauberer" [email protected] wrote:
Thanks for looking into this guys.
—
Reply to this email directly or view it on GitHubhttps://github.com//issues/16#issuecomment-41938511
.
from mailinabox.
I think getting phusion ported to 14.04 is over my head, so if you guys can figure it out that'll make testing mailinabox soooo much easier.
from mailinabox.
Okay, so I've got a PR into phusion's baseimage with a 14.04 update and have also pushed it to the docker index as pjzz/phusion-baseimage. I'm watching mailinator install itself now and hoping that it's going to come out clean :) Once I figure out the right way to start the non-daemonized versions of a few of the daemons, we should be gtg. You can see the general shape of the work in progress at https://github.com/pjz/mailinabox/tree/better_docker if you care.
from mailinabox.
The Dockerfile now uses @pjz's update of the phusion baseimage. The services seem to be running properly now. Things aren't all working though. For one, dovecot and postfix don't seem to be writing logs anywhere.
from mailinabox.
👍 Thanks Josh!
from mailinabox.
There's an issue with the Dockerfile as it is today. It's erroring on a code 600 for the baseimage.
I changed it locally from
"FROM pjzz/phusion-baseimage:0.9.10"
to
"FROM pjzz/phusion-baseimage"
to pull the file down and then I changed it back to the original.
and it's working for me.
from mailinabox.
Related Issues (20)
- Feature Request: Add GUI for Duplicity WebDAV Backend HOT 1
- Custom DKIM selector HOT 7
- SCRAM-SHA-1(-PLUS) + SCRAM-SHA-256(-PLUS) + SCRAM-SHA-512(-PLUS) + SCRAM-SHA3-512(-PLUS) supports HOT 4
- Mailinabox discourse is down? HOT 1
- Weird output (from Roundcube?) during install HOT 2
- Update to SpamAssassin 4 HOT 2
- hostname example.host.tld does not resolve to address xxx.xxx.xxx.xxx HOT 4
- Fail2ban - miab-munin.conf filter not cathing HTTP/2.0
- Add an edit button on DNS entries
- LetsEncrypt certificate renewal fails
- Systemd service not working
- how make a file copy of incoming email?
- Backup Error happening with mailinabox command I think HOT 1
- Break System Status Checks up into smaller checks HOT 2
- Root Domain configs in nginx
- owncloud-unlockadmin.sh has incorrect path for mail.py HOT 4
- Backup: File size can't be validated, because of missing capabilities of the backend HOT 4
- freebsd support HOT 2
- active-sync is with imap, or with mapi
- Multiple Domain why change NS ?? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mailinabox.