On Sat, Dec 24, 2022 at 08:05:12AM +0400, Samer Afach <samer.af...@msn.com> 
wrote:

> Dear Raf:
> 
> Thank you for the hint about UNIX sockets. I'll keep them. My only fear
> is/was that they're inappropriate to use across containers and something
> will break in the future. I guess I'll have to wait and see.

Probably the easiest thing is to configure all the sockets to be in
the same directory so that only a single directory needs to be imported
into all the containers.

> There's actually an open issue in OpenDKIM github with this request from
> months ago: https://github.com/trusteddomainproject/OpenDKIM/issues/153
> 
> Hopefully someone will find the time to do it.

That issue hasn't had any response, so maybe they aren't interested.
But I've just created a pull request to fix it:

  https://github.com/trusteddomainproject/OpenDKIM/pull/160

They still might not be interested, but hopefully, this
will make it more likely to happen.

> Cheers,
> Sam

cheers,
raf

> On 24/12/2022 7:38 AM, raf wrote:
> > On Sat, Dec 24, 2022 at 06:28:29AM +0400, Samer Afach <samer.af...@msn.com> 
> > wrote:
> > 
> > > On 24/12/2022 5:30 AM, raf wrote:
> > > > On Fri, Dec 23, 2022 at 04:35:03PM +0400, Samer Afach 
> > > > <samer.af...@msn.com> wrote:
> > > > 
> > > > >      About your great loud thought, my containers are versioned but 
> > > > > there's
> > > > >      no CI in there, and every launch for them recreates them. 
> > > > > They're all
> > > > >      based on either Debian or Ubuntu (depending on support for my
> > > > >      applications), which means they'll be updated automatically. I 
> > > > > don't
> > > > >      use random images from untrusted sources. There's even plan to 
> > > > > run apt
> > > > >      update/upgrade on every launch to ensure everything is up to 
> > > > > date even
> > > > >      if I forget to recreate a container for any reason, and I'm 
> > > > > planning
> > > > >      cron jobs that'll restart the containers daily. I really 
> > > > > appreciate
> > > > >      your loud thoughts, keep 'em coming, and I hope I have it 
> > > > > covered that
> > > > >      one with my plan.
> > > > One thing to consider, rather than restarting the
> > > > containers daily, is to install the unattended-upgrades
> > > > package in the container and a configuration for it
> > > > that automatically installs at least all security
> > > > upgrades. That way, the container can stay running for
> > > > long periods of time without the need to restart it
> > > > daily which presumably introduces tiny regular outages.
> > > > 
> > > > cheers,
> > > > raf
> > > Dear Raf:
> > > 
> > > That's actually what I do on all the bare-metal machines, but from my
> > > understanding of how docker works, every container is made to run exactly
> > > one service, and somehow default Linux images disable system services. 
> > > They
> > > can be re-enabled, but it's not the way it's meant to work, and given that
> > > I'm just a beginner in this whole docker thing, I'm trying not to jump 
> > > over
> > > rooftops before some time passes by and I feel comfortable with everything
> > > I've done so far and build the confidence of "It worked for a while, now
> > > let's try changing that one thing".
> > Ah, I didn't realise that. Thanks. It makes sense I
> > suppose. A container can have any number of processes
> > in it, but the default assumption is going to be
> > immutable infrastructure, and it won't include any
> > processes that you don't put in there explicitly.
> > 
> > However, you could maybe have a cronjob outside the
> > container that starts a process inside the container to
> > perform security updates. But it sounds like a hassle.
> > If the mail volume isn't huge, the tiny outages when
> > restarting might not be a problem, and so they don't
> > need to be eliminated.
> > 
> > > This can get much worse for beginners, and it took me a while to get email
> > > working properly. If you notice in my setup, you'll see that postfix,
> > > dovecot and OpenDKIM each is running in its own container (and they all 
> > > must
> > > be running in foreground mode to access logging).
> > > Luckily, sharing socket
> > > files in Linux is allowed among containers, and the reasoning there, if I
> > > understand correctly, is that all these containers use the same kernel, 
> > > and
> > > that's the only required condition. This simplified my setup a lot. Over
> > > time I'll have to move everything to inet and stop using socket files
> > > because it sounds dirty.
> > I wouldn't be too keen to do that. UNIX domain sockets
> > are faster than TCP. There's nothing dirty about them.
> > It's just another network address family. And they have
> > some nice benefits.
> > 
> > > The worst part in all this is OpenDKIM. It doesn't support stdout logging,
> > > which means I have to force the rsyslog service to work to see any errors,
> > > but given that its docker should start with exactly 1 program in the
> > > foreground, I don't know how to print the logs with something like tail
> > > since OpenDKIM is running in the foreground. Another problem to be looking
> > > into soon when I'm done with all these more prior piling issues.
> > > Too much unsolicited information. Apologies, but I wanted to make the
> > > situation clear, because this is a typical problem in docker.
> > I'd be tempted to see all of these related processes as
> > a single service (i.e. mail), and putting them in the
> > same container with rsyslog. :-)
> > But that's probably silly.
> > 
> > The OpenDKIM authors would probably accept a patch for
> > an option that logs to stdout rather than via syslog()
> > for use in Docker. It should be easy enough to do. If
> > not, at least raise an issue with them. They'd probably
> > be happy to make their software easier to use in Docker.
> > 
> > > Cheers,
> > > Sam
> > cheers,
> > raf
> > 

Reply via email to