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 cloud_backup_retention_days = 3 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 fqdn = ["ai.alexpires.me"] upstream = "http://10.19.4.136:8080" locations = [ { path = "/ws/socket.io/" headers = { "Upgrade" = "$http_upgrade" "Connection" = "upgrade" } }, { private = true path = "/tools/gitea" upstream = "http://10.19.4.136:8000" rewrite = "^/tools/gitea/(.*)$ /$1 break" }, { private = true path = "/providers/ollama" upstream = "http://10.19.4.106:11434" rewrite = "^/providers/ollama/(.*)$ /$1 break" }, { path = "/" }, ] }, } # VPS configuration instance_ips = [ "${local.vps_1.ip}/32", ] vps_1 = { id = data.terraform_remote_state.contabo.outputs.instances[0].id name = data.terraform_remote_state.contabo.outputs.instances[0].name ip = data.terraform_remote_state.contabo.outputs.instances[0].ip_config[0].v4[0].ip } } data "scaleway_account_project" "default" { project_id = var.scaleway_project_id organization_id = var.scaleway_organization_id } data "terraform_remote_state" "contabo" { backend = "s3" config = { bucket = "a13labs.infra.eu" key = "contabo.core.infra.tfstate" region = "eu-west-1" } }