Thanks to visit codestin.com
Credit goes to github.com

Skip to content

hollanbm/tf-homelab-dns

Repository files navigation

tf-homelab-dns

tf module for configuration of nginxproxymanager, pfsense dns, and cloudflare dns

Prevents repetitive web configuration, and having to set the same values in multiple places

nginxproxymanager

Creates proxy record with the following properties

  allow_websocket_upgrade = true
  block_exploits          = true

  ssl_forced      = true
  hsts_enabled    = true
  hsts_subdomains = true
  http2_support   = true

pfsense

Creates an A record in the pfsense unbound dns resolver

cloudflare

Optionally creates a CNAME record in your domain


Requirements

Name Version
terraform ~>1.9
cloudflare >= 5.8.2
nginxproxymanager >= 1.2.0
pfsense >= 0.20.0

Providers

Name Version
cloudflare >= 5.8.2
nginxproxymanager >= 1.2.0
pfsense >= 0.20.0

Modules

No modules.

Resources

Name Type
cloudflare_dns_record.cname resource
nginxproxymanager_proxy_host.proxy_host resource
pfsense_dnsresolver_hostoverride.dns_entry resource

Inputs

Name Description Type Default Required
cloudflare Cloudflare CNAME configuration
object({
zone_id = string
source = string
target = string
})
{
"source": "",
"target": "",
"zone_id": ""
}
no
nginxproxymanager n/a
object({
certificate = object({
id = number
})
subdomains = list(string)
domain_name = string
forward_scheme = optional(string, "http")
forward_host = string
forward_port = number
caching_enabled = optional(bool, true)
})
n/a yes
pfsense n/a
object({
dest_addresses = list(string)
})
n/a yes

Outputs

No outputs.

About

tf module for configuration of nginxproxymanager, pfsense dns, and cloudflare dns

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages