Git Product home page Git Product logo

Comments (27)

pryorda avatar pryorda commented on May 3, 2024 3

Ill work on getting this dockerized in my fork.

from mailinabox.

JoshData avatar JoshData commented on May 3, 2024 2

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.

JoshData avatar JoshData commented on May 3, 2024 1

I added an initial Dockerfile:
f713d92

from mailinabox.

chrisfranklin avatar chrisfranklin commented on May 3, 2024

+1 Docker is awesome.

from mailinabox.

christopher-haueter avatar christopher-haueter commented on May 3, 2024

I'm working on it.

from mailinabox.

christopher-haueter avatar christopher-haueter commented on May 3, 2024

I'll submit a pull request once it's ready.

from mailinabox.

xxdesmus avatar xxdesmus commented on May 3, 2024

+1 This will be huge.

from mailinabox.

christopher-haueter avatar christopher-haueter commented on May 3, 2024

@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.

christopher-haueter avatar christopher-haueter commented on May 3, 2024

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.

christopher-haueter avatar christopher-haueter commented on May 3, 2024

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.

christopher-haueter avatar christopher-haueter commented on May 3, 2024

Oh, and I am using an ubuntu 14.04 image for the Vagrant installation.

from mailinabox.

atmoz avatar atmoz commented on May 3, 2024

+1 This was my first thought when I heard about this project. Will test it out when it's dockerized!

from mailinabox.

PirosB3 avatar PirosB3 commented on May 3, 2024

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.

JoshData avatar JoshData commented on May 3, 2024

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.

PirosB3 avatar PirosB3 commented on May 3, 2024

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 adding

cat > /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.

JoshData avatar JoshData commented on May 3, 2024

Yikes. Okay. We should definitely use that!

from mailinabox.

pjz avatar pjz commented on May 3, 2024

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.

PirosB3 avatar PirosB3 commented on May 3, 2024

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.

pjz avatar pjz commented on May 3, 2024

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.

pjz avatar pjz commented on May 3, 2024

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.

JoshData avatar JoshData commented on May 3, 2024

Thanks for looking into this guys.

from mailinabox.

PirosB3 avatar PirosB3 commented on May 3, 2024

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.

JoshData avatar JoshData commented on May 3, 2024

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.

pjz avatar pjz commented on May 3, 2024

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.

JoshData avatar JoshData commented on May 3, 2024

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.

pjz avatar pjz commented on May 3, 2024

👍 Thanks Josh!

from mailinabox.

rinchen avatar rinchen commented on May 3, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.