Dovecot Docker kasutamine: erinevus redaktsioonide vahel

Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti
Resümee puudub
 
(ei näidata sama kasutaja 3 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>
   
 
===Kasulikud lisamaterjalid===
 
===Kasulikud lisamaterjalid===

Viimane redaktsioon: 23. august 2026, kell 18:18

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

Kasulikud lisamaterjalid

  • TODO