Dovecot Docker kasutamine: erinevus redaktsioonide vahel

Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti
Resümee puudub
 
(ei näidata sama kasutaja 5 vahepealset redaktsiooni)
54. rida: 54. rida:


===Dovecot seadistamine===
===Dovecot seadistamine===
Autentse tõmmisega saabuva seadistuse esitamine
<pre>
root@dh-dovecot:~# cat /srv/dovecot_imre/dc/docker-compose-dovecot.yml
name: p_dovecot_imre
services:
  svc_dovecot_imre:
    image: "dovecot/dovecot:2.4.4"
    container_name: "cn_dovecot_imre"
    restart: unless-stopped
    environment:
      TZ: "Europe/Tallinn"
    ports:
      - "0.0.0.0:31143:31143"
      - "0.0.0.0:34190:34190"
    networks:
      - nw_dovecot_imre
    logging:
      driver: "journald"
      options:
        tag: "cn_dovecot_imre"
networks:
  nw_dovecot_imre:
    name: nw_dovecot_imre
root@dh-dovecot:~# docker run --rm -it --privileged --pid=container:cn_dovecot --net=container:cn_dovecot nicolaka/netshoot find /proc/1/root/etc/dovecot -type f
/proc/1/root/etc/dovecot/conf.d/auth.conf
/proc/1/root/etc/dovecot/conf.d/mail.conf
/proc/1/root/etc/dovecot/conf.d/limits.conf
/proc/1/root/etc/dovecot/conf.d/fts.conf
/proc/1/root/etc/dovecot/conf.d/mail_log.conf
/proc/1/root/etc/dovecot/conf.d/ssl.conf
/proc/1/root/etc/dovecot/vendor.d/rootless.conf
/proc/1/root/etc/dovecot/master-users
/proc/1/root/etc/dovecot/passwd
/proc/1/root/etc/dovecot/dovecot.conf
</pre>
kus
* TODO


Kuna dovecot tõmmis on väga minimalistlik, siis seal sees toimuva jälgimiseks sobib nö kõrvalt sisse vaatamine teise konteineri abiga
Kuna dovecot tõmmis on väga minimalistlik, siis seal sees toimuva jälgimiseks sobib nö kõrvalt sisse vaatamine teise konteineri abiga
76. rida: 120. rida:


TODO
TODO
===Dovecot 2.2.3 -> 2.4.4 uuendamine===
Asjaolud uues versioonis
====Postkastide kataloog====
Millises kataloogis postkastid asuvad, vanas määras selle üks parameeter
<pre>
root@postkast:~# doveconf mail_location
mail_location = maildir:/srv/vmail/%d/%n/mail
</pre>
Uues kolm parameetrit
<pre>
root@dh-dovecot:~/20260823# docker exec cn_dovecot doveconf mail_driver
mail_driver = maildir
root@dh-dovecot:~/20260823# docker exec cn_dovecot doveconf mail_home
mail_home = /srv/vmail/%{user | domain}/%{user | username}
root@dh-dovecot:~/20260823# docker exec cn_dovecot doveconf mail_path
mail_path = ~/mail
</pre>
====User kasutaja====
Vanas versioonis
<pre>
root@postkast:~# cat /etc/dovecot/conf.d/auth-system.conf.ext
# Authentication for system users. Included from 10-auth.conf.
passdb {
  driver = passwd-file
  args = /etc/dovecot/passwd
}
userdb {
  driver = static
  args = uid=vmail gid=vmail home=/srv/vmail/%d/%n allow_all_users=yes
}
</pre>
uues versioonis
<pre>
root@dh-dovecot:~/20260823# cat /srv/dovecot/volume/etc/dovecot/conf.d/auth.conf
auth_mechanisms = plain login
passdb users {
  driver = passwd-file
  passwd_file_path = /etc/dovecot/passwd
}
userdb static {
  fields {
    uid = vmail
    gid = vmail
    home = /srv/vmail/%{user | domain}/%{user | username}
  }
}
...
</pre>
====Master kasutaja====
Vanas versioonis
<pre>
root@postkast:~# cat /etc/dovecot/conf.d/auth-master.conf.ext
passdb {
  driver = passwd-file
  master = yes
  args = /etc/dovecot/master-users
  pass = yes
}
root@postkast:~# grep auth-master.conf.ext /etc/dovecot/conf.d/10-auth.conf
!include auth-master.conf.ext
</pre>
Uues versioonis
<pre>
root@dh-dovecot:~/20260823# cat /srv/dovecot/volume/etc/dovecot/conf.d/auth.conf
auth_master_user_separator = *
passdb master {
  driver = passwd-file
  passwd_file_path = /etc/dovecot/master-users
  master = yes
  result_success = continue
}
...
</pre>
===Misc===
Uuemal ajal on default
<pre>
mailbox_list_layout = index
</pre>
mis välendub failisüsteemis on folderite nimed kodeeritud, nt (ei sõltu enam failisüsteemi nimede kasutamise võimalustest)
<pre>
root@dh-dovecot:~/20260919-moraal-migration# docker exec cn_dovecot doveadm mailbox path -u imre.oolberg@moraal.ee 'INBOX/Sent'
/srv/vmail/moraal.ee/imre.oolberg/mail/1867fc151938ae6a639b0100ef3f111b
root@dh-dovecot:~/20260919-moraal-migration# docker exec cn_dovecot doveadm mailbox status -u imre.oolberg@moraal.ee guid messages '*'
INBOX guid=000fff1e1338ae6a539b0100ef3f111b
INBOX/Personal guid=28619a3180c5af6a9b480400ef3f111b
INBOX/Personal/Arved ja Tellimused guid=88994813c8c7af6a9b480400ef3f111b
...
</pre>
Migreerimisel võib esineda selliseid nähtusi
<pre>
root@dh-dovecot:~# cat /var/log/syslog | grep core | grep 2026-09-20 | grep "error 4" | nl
    1 2026-09-20T13:36:23.661391+03:00 dh-dovecot kernel: imap[318292]: segfault at 5300000004 ip 00007fd7bbc675d7 sp 00007fff5c7cefe0 error 4 in libgcc_s.so.1[215d7,7fd7bbc4a000+23000] likely on CPU 1 (core 1, socket 0)
    2 2026-09-20T13:39:45.321580+03:00 dh-dovecot kernel: imap[319256]: segfault at 5300000004 ip 00007fd3c8c9f5d7 sp 00007ffe47cdef00 error 4 in libgcc_s.so.1[215d7,7fd3c8c82000+23000] likely on CPU 1 (core 1, socket 0)
    3 2026-09-20T13:42:20.225402+03:00 dh-dovecot kernel: imap[319968]: segfault at 5300000004 ip 00007f15f362a5d7 sp 00007ffdf3ad7f10 error 4 in libgcc_s.so.1[215d7,7f15f360d000+23000] likely on CPU 7 (core 7, socket 0)
    4 2026-09-20T13:44:34.705386+03:00 dh-dovecot kernel: imap[320583]: segfault at 5300000004 ip 00007f9e2af245d7 sp 00007ffd476c1ab0 error 4 in libgcc_s.so.1[215d7,7f9e2af07000+23000] likely on CPU 0 (core 0, socket 0)
    5 2026-09-20T13:47:08.841466+03:00 dh-dovecot kernel: imap[321131]: segfault at 5300000004 ip 00007f1a6e7645d7 sp 00007ffd12e0d3d0 error 4 in libgcc_s.so.1[215d7,7f1a6e747000+23000] likely on CPU 6 (core 6, socket 0)
    6 2026-09-20T13:49:48.901385+03:00 dh-dovecot kernel: imap[321648]: segfault at 5300000004 ip 00007f0d95b485d7 sp 00007ffc5569c2f0 error 4 in libgcc_s.so.1[215d7,7f0d95b2b000+23000] likely on CPU 4 (core 4, socket 0)
...
root@dh-dovecot:~# dmesg -T | grep segfault | nl
    1 [Sun Sep 20 13:36:05 2026] imap[318292]: segfault at 5300000004 ip 00007fd7bbc675d7 sp 00007fff5c7cefe0 error 4 in libgcc_s.so.1[215d7,7fd7bbc4a000+23000] likely on CPU 1 (core 1, socket 0)
    2 [Sun Sep 20 13:39:26 2026] imap[319256]: segfault at 5300000004 ip 00007fd3c8c9f5d7 sp 00007ffe47cdef00 error 4 in libgcc_s.so.1[215d7,7fd3c8c82000+23000] likely on CPU 1 (core 1, socket 0)
    3 [Sun Sep 20 13:42:01 2026] imap[319968]: segfault at 5300000004 ip 00007f15f362a5d7 sp 00007ffdf3ad7f10 error 4 in libgcc_s.so.1[215d7,7f15f360d000+23000] likely on CPU 7 (core 7, socket 0)
    4 [Sun Sep 20 13:44:16 2026] imap[320583]: segfault at 5300000004 ip 00007f9e2af245d7 sp 00007ffd476c1ab0 error 4 in libgcc_s.so.1[215d7,7f9e2af07000+23000] likely on CPU 0 (core 0, socket 0)
    5 [Sun Sep 20 13:46:50 2026] imap[321131]: segfault at 5300000004 ip 00007f1a6e7645d7 sp 00007ffd12e0d3d0 error 4 in libgcc_s.so.1[215d7,7f1a6e747000+23000] likely on CPU 6 (core 6, socket 0)
    6 [Sun Sep 20 13:49:30 2026] imap[321648]: segfault at 5300000004 ip 00007f0d95b485d7 sp 00007ffc5569c2f0 error 4 in libgcc_s.so.1[215d7,7f0d95b2b000+23000] likely on CPU 4 (core 4, socket 0)
...
</pre>
ning
<pre>
root@dh-dovecot:~# cat /var/log/syslog | grep core | grep 2026-09-20 | grep "killed with signal 11" | nl
    1 2026-09-20T13:36:23.889754+03:00 dh-dovecot cn_dovecot[939]: Sep 20 13:36:23 imap(imre.oolberg@moraal.ee)<268982><mP5ZoudbvtkKpwAB>: Fatal: master: service(imap): child 268982 killed with signal 11 (core dumped)
    2 2026-09-20T13:39:45.543139+03:00 dh-dovecot cn_dovecot[939]: Sep 20 13:39:45 imap(imre.oolberg@moraal.ee)<269934><cg58tOdbBq8KpwAB>: Fatal: master: service(imap): child 269934 killed with signal 11 (core dumped)
    3 2026-09-20T13:42:20.466492+03:00 dh-dovecot cn_dovecot[939]: Sep 20 13:42:20 imap(imre.oolberg@moraal.ee)<270643><dhGBwOdb7sQKpwAB>: Fatal: master: service(imap): child 270643 killed with signal 11 (core dumped)
    4 2026-09-20T13:44:34.924923+03:00 dh-dovecot cn_dovecot[939]: Sep 20 13:44:34 imap(imre.oolberg@moraal.ee)<271253><iKK8yedbgN8KpwAB>: Fatal: master: service(imap): child 271253 killed with signal 11 (core dumped)
    5 2026-09-20T13:47:09.054572+03:00 dh-dovecot cn_dovecot[939]: Sep 20 13:47:09 imap(imre.oolberg@moraal.ee)<271799><r5TA0edbiNEKpwAB>: Fatal: master: service(imap): child 271799 killed with signal 11 (core dumped)
    6 2026-09-20T13:49:49.111578+03:00 dh-dovecot cn_dovecot[939]: Sep 20 13:49:49 imap(imre.oolberg@moraal.ee)<272305><W3jw2udbVLUKpwAB>: Fatal: master: service(imap): child 272305 killed with signal 11 (core dumped)
</pre>


===Kasulikud lisamaterjalid===
===Kasulikud lisamaterjalid===


* TODO
* TODO

Viimane redaktsioon: 20. september 2026, kell 14:58

Sissejuhatus

TODO

Tööpõhimõte

TODO

Ettevalmistused

TODO

  • nt Debian v. 13
  • Dockerhost - docker-ce

Dovecot paigaldamine

Docker compose

root@dh-dovecot:~# cat /srv/dovecot/dc/docker-compose-dovecot.yml
name: p_dovecot

services:
  svc_dovecot:
    image: "dovecot/dovecot:2.4.4"
    container_name: "cn_dovecot"
    restart: unless-stopped
    environment:
      TZ: "Europe/Tallinn"
    ports:
      - "0.0.0.0:143:31143"
      - "0.0.0.0:4190:34190"
    volumes:
      - "/srv/dovecot/volume/srv/vmail:/srv/vmail"
      - "/srv/dovecot/volume/etc/dovecot/conf.d:/etc/dovecot/conf.d:ro"
      - "/srv/dovecot/volume/etc/dovecot/ssl:/etc/dovecot/ssl:ro"
      - "/srv/dovecot/volume/etc/dovecot/passwd:/etc/dovecot/passwd:ro"
      - "/srv/dovecot/volume/etc/dovecot/master-users:/etc/dovecot/master-users:ro"
    networks:
      - nw_dovecot
    logging:
      driver: "journald"
      options:
        tag: "cn_dovecot"

networks:
  nw_dovecot:
    name: nw_dovecot

kus

  • TODO

Dovecot seadistamine

Autentse tõmmisega saabuva seadistuse esitamine

root@dh-dovecot:~# cat /srv/dovecot_imre/dc/docker-compose-dovecot.yml
name: p_dovecot_imre

services:
  svc_dovecot_imre:
    image: "dovecot/dovecot:2.4.4"
    container_name: "cn_dovecot_imre"
    restart: unless-stopped
    environment:
      TZ: "Europe/Tallinn"
    ports:
      - "0.0.0.0:31143:31143"
      - "0.0.0.0:34190:34190"
    networks:
      - nw_dovecot_imre
    logging:
      driver: "journald"
      options:
        tag: "cn_dovecot_imre"

networks:
  nw_dovecot_imre:
    name: nw_dovecot_imre

root@dh-dovecot:~# docker run --rm -it --privileged --pid=container:cn_dovecot --net=container:cn_dovecot nicolaka/netshoot find /proc/1/root/etc/dovecot -type f
/proc/1/root/etc/dovecot/conf.d/auth.conf
/proc/1/root/etc/dovecot/conf.d/mail.conf
/proc/1/root/etc/dovecot/conf.d/limits.conf
/proc/1/root/etc/dovecot/conf.d/fts.conf
/proc/1/root/etc/dovecot/conf.d/mail_log.conf
/proc/1/root/etc/dovecot/conf.d/ssl.conf
/proc/1/root/etc/dovecot/vendor.d/rootless.conf
/proc/1/root/etc/dovecot/master-users
/proc/1/root/etc/dovecot/passwd
/proc/1/root/etc/dovecot/dovecot.conf

kus

  • TODO

Kuna dovecot tõmmis on väga minimalistlik, siis seal sees toimuva jälgimiseks sobib nö kõrvalt sisse vaatamine teise konteineri abiga

root@dovecot-01:~# docker run --rm -it --pid=container:cn_dovecot --net=container:cn_dovecot --volumes-from cn_dovecot nicolaka/netshoot

kus

  • natuke analoogne lähenemine nsenter programmi kasutamisele

Kasumine

TODO

Haldamine

TODO

Dovecot tarkvara uuendamine

TODO

Dovecot 2.2.3 -> 2.4.4 uuendamine

Asjaolud uues versioonis

Postkastide kataloog

Millises kataloogis postkastid asuvad, vanas määras selle üks parameeter

root@postkast:~# doveconf mail_location
mail_location = maildir:/srv/vmail/%d/%n/mail

Uues kolm parameetrit

root@dh-dovecot:~/20260823# docker exec cn_dovecot doveconf mail_driver
mail_driver = maildir

root@dh-dovecot:~/20260823# docker exec cn_dovecot doveconf mail_home
mail_home = /srv/vmail/%{user | domain}/%{user | username}

root@dh-dovecot:~/20260823# docker exec cn_dovecot doveconf mail_path
mail_path = ~/mail

User kasutaja

Vanas versioonis

root@postkast:~# cat /etc/dovecot/conf.d/auth-system.conf.ext
# Authentication for system users. Included from 10-auth.conf.

passdb {
  driver = passwd-file
  args = /etc/dovecot/passwd
}

userdb {
  driver = static
  args = uid=vmail gid=vmail home=/srv/vmail/%d/%n allow_all_users=yes
}

uues versioonis

root@dh-dovecot:~/20260823# cat /srv/dovecot/volume/etc/dovecot/conf.d/auth.conf
auth_mechanisms = plain login

passdb users {
  driver = passwd-file
  passwd_file_path = /etc/dovecot/passwd
}

userdb static {
  fields {
    uid = vmail
    gid = vmail
    home = /srv/vmail/%{user | domain}/%{user | username}
  }
}

...

Master kasutaja

Vanas versioonis

root@postkast:~# cat /etc/dovecot/conf.d/auth-master.conf.ext
passdb {
  driver = passwd-file
  master = yes
  args = /etc/dovecot/master-users
  pass = yes
}

root@postkast:~# grep auth-master.conf.ext /etc/dovecot/conf.d/10-auth.conf
!include auth-master.conf.ext

Uues versioonis

root@dh-dovecot:~/20260823# cat /srv/dovecot/volume/etc/dovecot/conf.d/auth.conf
auth_master_user_separator = *

passdb master {
  driver = passwd-file
  passwd_file_path = /etc/dovecot/master-users
  master = yes
  result_success = continue
}
...

Misc

Uuemal ajal on default

mailbox_list_layout = index

mis välendub failisüsteemis on folderite nimed kodeeritud, nt (ei sõltu enam failisüsteemi nimede kasutamise võimalustest)

root@dh-dovecot:~/20260919-moraal-migration# docker exec cn_dovecot doveadm mailbox path -u imre.oolberg@moraal.ee 'INBOX/Sent'
/srv/vmail/moraal.ee/imre.oolberg/mail/1867fc151938ae6a639b0100ef3f111b

root@dh-dovecot:~/20260919-moraal-migration# docker exec cn_dovecot doveadm mailbox status -u imre.oolberg@moraal.ee guid messages '*'
INBOX guid=000fff1e1338ae6a539b0100ef3f111b
INBOX/Personal guid=28619a3180c5af6a9b480400ef3f111b
INBOX/Personal/Arved ja Tellimused guid=88994813c8c7af6a9b480400ef3f111b
...

Migreerimisel võib esineda selliseid nähtusi

root@dh-dovecot:~# cat /var/log/syslog | grep core | grep 2026-09-20 | grep "error 4" | nl
     1	2026-09-20T13:36:23.661391+03:00 dh-dovecot kernel: imap[318292]: segfault at 5300000004 ip 00007fd7bbc675d7 sp 00007fff5c7cefe0 error 4 in libgcc_s.so.1[215d7,7fd7bbc4a000+23000] likely on CPU 1 (core 1, socket 0)
     2	2026-09-20T13:39:45.321580+03:00 dh-dovecot kernel: imap[319256]: segfault at 5300000004 ip 00007fd3c8c9f5d7 sp 00007ffe47cdef00 error 4 in libgcc_s.so.1[215d7,7fd3c8c82000+23000] likely on CPU 1 (core 1, socket 0)
     3	2026-09-20T13:42:20.225402+03:00 dh-dovecot kernel: imap[319968]: segfault at 5300000004 ip 00007f15f362a5d7 sp 00007ffdf3ad7f10 error 4 in libgcc_s.so.1[215d7,7f15f360d000+23000] likely on CPU 7 (core 7, socket 0)
     4	2026-09-20T13:44:34.705386+03:00 dh-dovecot kernel: imap[320583]: segfault at 5300000004 ip 00007f9e2af245d7 sp 00007ffd476c1ab0 error 4 in libgcc_s.so.1[215d7,7f9e2af07000+23000] likely on CPU 0 (core 0, socket 0)
     5	2026-09-20T13:47:08.841466+03:00 dh-dovecot kernel: imap[321131]: segfault at 5300000004 ip 00007f1a6e7645d7 sp 00007ffd12e0d3d0 error 4 in libgcc_s.so.1[215d7,7f1a6e747000+23000] likely on CPU 6 (core 6, socket 0)
     6	2026-09-20T13:49:48.901385+03:00 dh-dovecot kernel: imap[321648]: segfault at 5300000004 ip 00007f0d95b485d7 sp 00007ffc5569c2f0 error 4 in libgcc_s.so.1[215d7,7f0d95b2b000+23000] likely on CPU 4 (core 4, socket 0)
...
root@dh-dovecot:~# dmesg -T | grep segfault | nl
     1	[Sun Sep 20 13:36:05 2026] imap[318292]: segfault at 5300000004 ip 00007fd7bbc675d7 sp 00007fff5c7cefe0 error 4 in libgcc_s.so.1[215d7,7fd7bbc4a000+23000] likely on CPU 1 (core 1, socket 0)
     2	[Sun Sep 20 13:39:26 2026] imap[319256]: segfault at 5300000004 ip 00007fd3c8c9f5d7 sp 00007ffe47cdef00 error 4 in libgcc_s.so.1[215d7,7fd3c8c82000+23000] likely on CPU 1 (core 1, socket 0)
     3	[Sun Sep 20 13:42:01 2026] imap[319968]: segfault at 5300000004 ip 00007f15f362a5d7 sp 00007ffdf3ad7f10 error 4 in libgcc_s.so.1[215d7,7f15f360d000+23000] likely on CPU 7 (core 7, socket 0)
     4	[Sun Sep 20 13:44:16 2026] imap[320583]: segfault at 5300000004 ip 00007f9e2af245d7 sp 00007ffd476c1ab0 error 4 in libgcc_s.so.1[215d7,7f9e2af07000+23000] likely on CPU 0 (core 0, socket 0)
     5	[Sun Sep 20 13:46:50 2026] imap[321131]: segfault at 5300000004 ip 00007f1a6e7645d7 sp 00007ffd12e0d3d0 error 4 in libgcc_s.so.1[215d7,7f1a6e747000+23000] likely on CPU 6 (core 6, socket 0)
     6	[Sun Sep 20 13:49:30 2026] imap[321648]: segfault at 5300000004 ip 00007f0d95b485d7 sp 00007ffc5569c2f0 error 4 in libgcc_s.so.1[215d7,7f0d95b2b000+23000] likely on CPU 4 (core 4, socket 0)
...

ning

root@dh-dovecot:~# cat /var/log/syslog | grep core | grep 2026-09-20 | grep "killed with signal 11" | nl
     1	2026-09-20T13:36:23.889754+03:00 dh-dovecot cn_dovecot[939]: Sep 20 13:36:23 imap(imre.oolberg@moraal.ee)<268982><mP5ZoudbvtkKpwAB>: Fatal: master: service(imap): child 268982 killed with signal 11 (core dumped)
     2	2026-09-20T13:39:45.543139+03:00 dh-dovecot cn_dovecot[939]: Sep 20 13:39:45 imap(imre.oolberg@moraal.ee)<269934><cg58tOdbBq8KpwAB>: Fatal: master: service(imap): child 269934 killed with signal 11 (core dumped)
     3	2026-09-20T13:42:20.466492+03:00 dh-dovecot cn_dovecot[939]: Sep 20 13:42:20 imap(imre.oolberg@moraal.ee)<270643><dhGBwOdb7sQKpwAB>: Fatal: master: service(imap): child 270643 killed with signal 11 (core dumped)
     4	2026-09-20T13:44:34.924923+03:00 dh-dovecot cn_dovecot[939]: Sep 20 13:44:34 imap(imre.oolberg@moraal.ee)<271253><iKK8yedbgN8KpwAB>: Fatal: master: service(imap): child 271253 killed with signal 11 (core dumped)
     5	2026-09-20T13:47:09.054572+03:00 dh-dovecot cn_dovecot[939]: Sep 20 13:47:09 imap(imre.oolberg@moraal.ee)<271799><r5TA0edbiNEKpwAB>: Fatal: master: service(imap): child 271799 killed with signal 11 (core dumped)
     6	2026-09-20T13:49:49.111578+03:00 dh-dovecot cn_dovecot[939]: Sep 20 13:49:49 imap(imre.oolberg@moraal.ee)<272305><W3jw2udbVLUKpwAB>: Fatal: master: service(imap): child 272305 killed with signal 11 (core dumped)

Kasulikud lisamaterjalid

  • TODO