Files
homelab-opentofu/main.tf
2025-08-06 11:07:18 +10:00

51 lines
1.5 KiB
HCL

module "system_globals" {
source = "./modules/00-globals/system"
}
module "cloudflare_globals" {
source = "./modules/00-globals/cloudflare"
}
module "tls_globals" {
source = "./modules/00-globals/tls"
}
module "watchtower" {
source = "./modules/20-services-apps/watchtower"
}
// Application services
module "services" {
source = "./services"
}
locals {
volume_host = "${module.system_globals.volume_host}/appdata"
}
module "homelab_cloudflared_tunnel" {
source = "./modules/01-networking/cloudflared-tunnel"
cloudflare_account_id = module.cloudflare_globals.cloudflare_account_id
cloudflare_zone_id = module.cloudflare_globals.cloudflare_zone_id
domain = module.cloudflare_globals.domain
tunnel_name = "homelab"
container_name = "cloudflared-homelab"
service_definitions = module.services.service_definitions
networks = [module.services.homelab_docker_network_name]
monitoring = true
}
module "homelab_caddy_proxy" {
source = "./modules/01-networking/caddy-proxy"
domain = module.cloudflare_globals.domain
tls_email = module.tls_globals.tls_email
container_name = "caddy-proxy"
cloudflare_zone_id = module.cloudflare_globals.cloudflare_zone_id
external_ip = module.cloudflare_globals.external_ip
service_definitions = module.services.service_definitions
volume_path = local.volume_host
networks = [module.services.homelab_docker_network_name]
monitoring = true
}