1
0

Compare commits

...

3 Commits

Author SHA1 Message Date
896399818a Email server appears to be working from container
Signed-off-by: James <james_git@ketrenos.com>
2024-05-23 13:59:18 -07:00
23f4ba72d2 Add migrate script that was used to copy mailman2 archives
Signed-off-by: James Ketrenos <james_git@ketrenos.com>
2024-05-23 13:58:48 -07:00
41b5b9ae52 Add SMTP (25)
Signed-off-by: James <james_git@ketrenos.com>
2024-05-21 16:43:38 -07:00
9 changed files with 157 additions and 2 deletions

View File

@ -38,6 +38,7 @@ services:
dockerfile: Dockerfile.mail
restart: always
ports:
- "25:25" # postfix smtp
- 143:143 # dovecot imap
- 993:993 # dovecot imaps
- 465:465 # postfix smtps
@ -45,6 +46,7 @@ services:
volumes:
# Dynamic data
- /home:/home:rw # User home directories for Maildir access
- /home/jketreno/docker/webserver/mail/etc/postfix:/etc/postfix:rw
- /home/jketreno/docker/webserver/data/mailman/core/var/data/postfix_lmtp:/opt/mailman/postfix_lmtp # Used for LMTP to ketrenet-mailman-core (rw so it is dynamically updated)
- /home/jketreno/docker/webserver/keys/cron/etc/letsencrypt/live:/etc/letsencrypt/live
- /home/jketreno/docker/webserver/keys/cron/etc/letsencrypt/archive:/etc/letsencrypt/archive
@ -54,7 +56,6 @@ services:
- /home/jketreno/docker/webserver/data/mail/var/spool/mail:/var/spool/mail:rw
- /home/jketreno/docker/webserver/data/mail/var/lib/clamav:/var/lib/clamav:rw
- /home/jketreno/docker/webserver/keys/mail/etc/spamassassin/sa-update-keys/:/etc/spamassassin/sa-update-keys:rw
- /home/jketreno/docker/webserver/mail/etc/postfix:/etc/postfix:rw
- /home/jketreno/docker/webserver/keys/mail/etc/opendkim:/etc/opendkim-private:rw
# Static data
- /home/jketreno/docker/webserver/mail/etc/mailname:/etc/mailname:ro

21
mail/etc/postfix/aliases Normal file
View File

@ -0,0 +1,21 @@
# General redirections for pseudo accounts.
adm: root
bin: root
daemon: root
exim: root
lp: root
mail: root
named: root
nobody: root
postfix: root
abuse: root
ftp: root
hostmaster: root
news: root
noc: root
security: root
usenet: root
uucp: root
webmaster: root
www: root

View File

@ -73,6 +73,7 @@ smtpd_tls_mandatory_ciphers = high
# Alias maps and database
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases
virtual_alias_maps = hash:/etc/postfix/virtual_aliases
# Support multiple recipient delimiters (_ and +)
canonical_maps = regexp:/etc/postfix/canonical

View File

@ -8,7 +8,7 @@
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
#smtp inet n - y - - smtpd
smtp inet n - y - - smtpd
# -o milter_macro_daemon_name=ORIGINATING
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_relay_restrictions=permit_mynetworks,permit_sasl_authenticated,reject

Binary file not shown.

View File

@ -0,0 +1,66 @@
agape@ketrenos.com agape
grandma@ketrenos.com agape
mom@ketrenos.com agape
sheri@ketrenos.com agape
sherri@ketrenos.com agape
barry@ketrenos.com barry
dad@ketrenos.com barry
papa@ketrenos.com barry
bphipps@ketrenos.com bphipps
chelsea@ketrenos.com chelsea
chrisn@ketrenos.com chrisn
chris@ketrenos.com christopher
chrisk@ketrenos.com christopher
chrisotpher@ketrenos.com christopher
christopher@ketrenos.com christopher
colleen@ketrenos.com colleen
spinaker@ketrenos.com colleen
constantine@ketrenos.com constantine
demetrius@ketrenos.com demetrius
dolphin12@ketrenos.com dolphin12
elias@ketrenos.com elias
elcore@ketrenos.com george
george@ketrenos.com george
gketreno@ketrenos.com george
ketrenog@ketrenos.com george
git@ketrenos.com git
gitlab@ketrenos.com gitlab
jketreno@azurite.ketrenos.net jketreno
daddy@ketrenos.com jketreno
family-bounces@ketrenos.com jketreno
film@ketrenos.com jketreno
james@ketrenos.com jketreno
jketreno@ketrenos.com jketreno
ketrenoj@ketrenos.com jketreno
logics@ketrenos.com jketreno
logics_vcd_db@ketrenos.com jketreno
pair@ketrenos.com jketreno
robot@ketrenos.com jketreno
root@ketrenos.com jketreno
shaznat@ketrenos.com jketreno
slavod@ketrenos.com jketreno
julian@ketrenos.com julian
efax@ketrenos.com kathleen
flylady@ketrenos.com kathleen
glider@ketrenos.com kathleen
homestead@ketrenos.com kathleen
jamesdontread@ketrenos.com kathleen
kathleen@ketrenos.com kathleen
ketrenok2000@ketrenos.com kathleen
ketrenok@ketrenos.com kathleen
midwives@ketrenos.com kathleen
mommy@ketrenos.com kathleen
yahoo@ketrenos.com kathleen
ketrecam@ketrenos.com ketrecam
mailman@ketrenos.com mailman
marina@ketrenos.com marina
melissa@ketrenos.com melissa
solace@ketrenos.com melissa
michelle@ketrenos.com michelle
niamarie@ketrenos.com niamarie
mailer-daemon@ketrenos.com postmaster
clamav@ketrenos.com root
postmaster@ketrenos.com root
theo@ketrenos.com theo
zacharais@ketrenos.com zacharias
zacharias@ketrenos.com zacharias

66
migrate2-3 Executable file
View File

@ -0,0 +1,66 @@
#!/bin/bash
declare src="/home/jketreno/mailman2"
declare dst="unset"
fail() {
echo "${*}" >&2
if [[ ! -d "${src}" ]] && [[ -d "${dst}" ]]; then
sudo mv "${dst}" "${src}"
fi
exit 1
}
# Full set of lists to migrate
#lists=(family jcubed test mosj vansicklefamily )
# Everything has been migrated
lists=()
if [[ -d "${src}" ]]; then
sudo chown jketreno:jketreno -R "${src}"
fi
if ! ssh email.ketrenos.com \
"sudo rsync --delete -aprl --progress /var/lib/mailman/ ${src}/"; then
fail "rsync"
fi
dst="/home/jketreno/docker/webserver/data/mailman/core/mailman2"
if ! sudo mv "${src}" "${dst}"; then
fail "mv ${src} ${dst}"
fi
for list in "${lists[@]}"; do
echo "Initializing $list"
if ! docker exec -it ketrenet-mailman-core \
mailman --run-as-root import21 "${list}@ketrenos.com" \
"/opt/mailman/mailman2/lists/${list}/config.pck"; then
fail "mailman --run-as-root import21 $list@ketrenos.com /opt/mailman/mailman2/lists/${list}/config.pck"
fi
done
new_dst="/home/jketreno/docker/webserver/data/mailman/web/config/mailman2"
if ! sudo mv "${dst}" "${new_dst}"; then
fail "mv ${dst} ${new_dst}"
fi
dst="${new_dst}"
for list in "${lists[@]}"; do
echo "Hyper Kitty archive $list"
if ! docker exec -it ketrenet-mailman-web \
python manage.py hyperkitty_import \
-l "${list}@ketrenos.com" \
"/opt/mailman-web/mailman2/archives/private/${list}.mbox/${list}.mbox"; then
fail "python manage.py hyperkitty_import"
fi
if ! docker exec -it ketrenet-mailman-web \
python manage.py update_index_one_list "${list}@ketrenos.com"; then
fail "python manage.py update_index_one_list ${list}@ketrenos.com"
fi
done
if ! sudo mv "${dst}" "${src}"; then
fail "mv ${dst} ${src}"
fi