Implement mail server

This commit is contained in:
2025-03-15 23:01:46 +01:00
parent d8011643be
commit 98f789d2c8
16 changed files with 703 additions and 9 deletions
+45 -5
View File
@@ -1,18 +1,20 @@
locals {
domain_name = "alexpires.me"
# apps
wordpress_version = "6.7.2"
wordpress_fqdns = ["blog.alexpires.me", "www.alexpires.me", "alexpires.me"]
wordpress_fqdns = ["blog.${local.domain_name}", "www.${local.domain_name}", "${local.domain_name}"]
wordpress_sql_backup_cron_schedule = "0 2 * * *"
wordpress_files_backup_cron_schedule = "10 2 * * *"
gitea_version = "1.23.4"
gitea_fqdn = "code.alexpires.me"
gitea_fqdn = "code.${local.domain_name}"
gitea_sql_backup_cron_schedule = "20 2 * * *"
gitea_files_backup_cron_schedule = "30 2 * * *"
nextcloud_version = "30.0.0-apache"
nextcloud_fqdn = "cloud.alexpires.me"
nextcloud_fqdn = "cloud.${local.domain_name}"
nextcloud_sql_backup_cron_schedule = "40 2 * * *"
nextcloud_files_backup_cron_schedule = "50 2 * * *"
@@ -27,7 +29,7 @@ locals {
m3uproxy_version = "latest"
wireguard_version = "1.0.20210914-r4-ls54"
squid_version = "6.1-23.10_edge"
m3uproxy_fqdn = "tv.alexpires.me"
m3uproxy_fqdn = "tv.${local.domain_name}"
geoip_image = "maxmindinc/geoipupdate"
geoip_version = "latest"
@@ -40,7 +42,7 @@ locals {
# rustdesk
rustdesk_version = "latest"
rustdesk_fqdn = "rustdesk.alexpires.me"
rustdesk_fqdn = "rustdesk.${local.domain_name}"
# backup
local_backup_retention_days = 2
@@ -50,6 +52,44 @@ locals {
scaleway_smtp_host = "smtp.tem.scw.cloud"
scaleway_smtp_port = 587
# mail settings
getmail_version = "v0.0.1-6.19.07"
fetch_emails_schedule = "*/2 * * * *"
email_accounts = [
{
domain = "alexpires.me"
recipient = "c.alexandre.pires"
receive = {
type = "imap"
server = "mail-pt.securemail.pro"
port = 993
}
send = {
server = "smtp-pt.securemail.pro"
port = 465
}
username = var.alexpires_me_email_username
password = var.alexpires_me_email_password
mailboxes = ["INBOX", "Sent", "Drafts", "Trash", "Spam"]
}
]
getmail_jobs = flatten([
for account in local.email_accounts : [
for mailbox in account.mailboxes : {
name = "${account.recipient}-${mailbox}"
recipient = "${account.recipient}+${mailbox}"
domain = account.domain
server = account.receive.server
port = account.receive.port
username = account.username
password = account.password
mailbox = mailbox
delete_after = try(account.delete_after, 30)
}
]
])
# storage
persistent_folder = "/mnt/microk8s_persistent"
database_folder = "/var/lib"