locals { # general # storage persistent_folder = "/mnt/microk8s_persistent" database_folder = "/var/lib" # domains primary_domain = "alexpires.me" websites = { "alexpires.me" = { domain_name = "alexpires.me" fqdn = ["blog.alexpires.me", "www.alexpires.me", "alexpires.me"] tls = true issuer = "internal-ca" custom_snippet = file("${path.module}/resources/alexpires.me.conf") } } # gitea gitea_version = "1.23.7" gitea_fqdn = "code.${local.primary_domain}" # sftpgo sftpgo_version = "2.6.x" sftpgo_fqdn = "webdav.${local.primary_domain}" # m3uproxy m3uproxy_version = "latest" m3uproxy_fqdn = "tv.${local.primary_domain}" # geoip geoip_cron_schedule = "0 0 * * *" geoip_editions = [ "GeoLite2-Country", "GeoLite2-City", "GeoLite2-ASN" ] rustdesk_fqdn = "rustdesk.${local.primary_domain}" # trivy trivy_cronjob_schedule = "0 1 1/15 * *" # backup local_backup_retention_days = 2 mail_backup_path = "${local.persistent_folder}/backup.mail" gitea_backup_path = "${local.persistent_folder}/backup.gitea" sftpgo_backup_path = "${local.persistent_folder}/backup.sftpgo" gitea_sql_backup_cron_schedule = "20 2 * * *" gitea_files_backup_cron_schedule = "30 2 * * *" sftpgo_files_backup_cron_schedule = "50 2 * * *" mail_files_backup_cron_schedule = "0 3 * * *" # email settings fetch_emails_schedule = "*/2 * * * *" scaleway_smtp_host = "smtp.tem.scw.cloud" scaleway_smtp_port = 587 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"] } ] #reverse proxy settings reverse_proxy_wireguard_config = { private_key = var.wireguard_1_private_key public_key = var.wireguard_1_public_key pre_shared_key = var.wireguard_1_pre_shared_key endpoint = "aristotle.alexpires.me" endpoint_port = 51820 address = "10.5.5.2/32" dns = "10.19.4.1" allowed_ips = [ "10.19.4.106/32", "10.19.4.136/32", ] } reverse_proxy_services = { "open-webui" = { http_port = 8080 https_port = 8443 tls = true resolver = "10.19.4.136" fqdn = ["ai.alexpires.me"] upstream = "https://open-webui.lab.alexpires.me" locations = [ { path = "/ws/socket.io/" headers = { "Upgrade" = "$http_upgrade" "Connection" = "upgrade" } }, { path = "/" }, ] }, "nextcloud" = { http_port = 8081 https_port = 8444 custom_ingress_annotations = { "nginx.ingress.kubernetes.io/proxy-body-size" = "4G" "nginx.ingress.kubernetes.io/proxy-request-buffering" = "on" "nginx.ingress.kubernetes.io/proxy-buffer-size" = "32k" "nginx.ingress.kubernetes.io/proxy-buffers-number" = "16" } tls = true custom_snippet = file("${path.module}/resources/nextcloud.conf") resolver = "10.19.4.136" fqdn = ["cloud.alexpires.me"] upstream = "https://cloud.alexpires.me" locations = [ { path = "/" }, ] }, } backup_bucket_name = data.terraform_remote_state.scaleway.outputs.backup_bucket_name backup_app_api_secret_key = data.terraform_remote_state.scaleway.outputs.backup_app_api_secret_key backup_app_api_access_key = data.terraform_remote_state.scaleway.outputs.backup_app_api_access_key mail_app_api_secret_key = data.terraform_remote_state.scaleway.outputs.mail_app_api_secret_key sftpgo_app_api_access_key = data.terraform_remote_state.scaleway.outputs.sftpgo_app_api_access_key sftpgo_app_api_secret_key = data.terraform_remote_state.scaleway.outputs.sftpgo_app_api_secret_key } data "terraform_remote_state" "scaleway" { backend = "s3" config = { bucket = "a13labs.infra.eu" key = "scaleway.core.infra.tfstate" region = "eu-west-1" } }