Start using variable IPs
This commit is contained in:
parent
19c15aae00
commit
6b04886ac9
|
@ -1,32 +1,25 @@
|
||||||
|
/**
|
||||||
|
* in.bb8.fun
|
||||||
|
* *.in.bb8.fun
|
||||||
|
*/
|
||||||
resource "cloudflare_record" "home-wildcard" {
|
resource "cloudflare_record" "home-wildcard" {
|
||||||
domain = "${var.domain}"
|
domain = "${var.domain}"
|
||||||
name = "*.in"
|
name = "*.in"
|
||||||
value = "192.168.1.111"
|
value = "${var.ips["eth0"]}"
|
||||||
type = "A"
|
type = "A"
|
||||||
ttl = 300
|
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "cloudflare_record" "home" {
|
resource "cloudflare_record" "home" {
|
||||||
domain = "${var.domain}"
|
domain = "${var.domain}"
|
||||||
name = "in"
|
name = "in"
|
||||||
value = "192.168.1.111"
|
value = "${var.ips["eth0"]}"
|
||||||
type = "A"
|
|
||||||
}
|
|
||||||
|
|
||||||
resource "cloudflare_record" "docker" {
|
|
||||||
domain = "${var.domain}"
|
|
||||||
name = "docker.in"
|
|
||||||
value = "10.8.0.14"
|
|
||||||
type = "A"
|
|
||||||
}
|
|
||||||
|
|
||||||
resource "cloudflare_record" "debug" {
|
|
||||||
domain = "${var.domain}"
|
|
||||||
name = "debug.in"
|
|
||||||
value = "10.8.0.14"
|
|
||||||
type = "A"
|
type = "A"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* bb8.fun
|
||||||
|
* *.bb8.fun
|
||||||
|
*/
|
||||||
resource "cloudflare_record" "internet" {
|
resource "cloudflare_record" "internet" {
|
||||||
domain = "${var.domain}"
|
domain = "${var.domain}"
|
||||||
name = "@"
|
name = "@"
|
||||||
|
@ -41,6 +34,24 @@ resource "cloudflare_record" "internet-wildcard" {
|
||||||
type = "CNAME"
|
type = "CNAME"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* vpn.bb8.fun
|
||||||
|
* *.vpn.bb8.fun
|
||||||
|
*/
|
||||||
|
resource "cloudflare_record" "vpn" {
|
||||||
|
domain = "${var.domain}"
|
||||||
|
name = "vpn"
|
||||||
|
value = "${var.ips["tun0"]}"
|
||||||
|
type = "A"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "cloudflare_record" "vpn_wildcard" {
|
||||||
|
domain = "${var.domain}"
|
||||||
|
name = "*.vpn.bb8.fun"
|
||||||
|
value = "${var.ips["tun0"]}"
|
||||||
|
type = "A"
|
||||||
|
}
|
||||||
|
|
||||||
########################
|
########################
|
||||||
## Mailgun Mailing Lists
|
## Mailgun Mailing Lists
|
||||||
########################
|
########################
|
||||||
|
@ -60,17 +71,17 @@ resource "cloudflare_record" "mailgun-dkim" {
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "cloudflare_record" "mailgun-mxa" {
|
resource "cloudflare_record" "mailgun-mxa" {
|
||||||
domain = "${var.domain}"
|
domain = "${var.domain}"
|
||||||
name = "l"
|
name = "l"
|
||||||
value = "mxa.mailgun.org"
|
value = "mxa.mailgun.org"
|
||||||
type = "MX"
|
type = "MX"
|
||||||
priority = 10
|
priority = 10
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "cloudflare_record" "mailgun-mxb" {
|
resource "cloudflare_record" "mailgun-mxb" {
|
||||||
domain = "${var.domain}"
|
domain = "${var.domain}"
|
||||||
name = "l"
|
name = "l"
|
||||||
value = "mxb.mailgun.org"
|
value = "mxb.mailgun.org"
|
||||||
type = "MX"
|
type = "MX"
|
||||||
priority = 20
|
priority = 20
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,6 @@ variable "proxy" {
|
||||||
type = "string"
|
type = "string"
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "act_ip" {
|
variable "ips" {
|
||||||
type = "string"
|
type = "map"
|
||||||
}
|
}
|
||||||
|
|
|
@ -151,7 +151,7 @@ piratebay_proxy_url = https://duckingproxy.eu/
|
||||||
mpc_enabled = 0
|
mpc_enabled = 0
|
||||||
[XBMC]
|
[XBMC]
|
||||||
xbmc_username = ""
|
xbmc_username = ""
|
||||||
xbmc_host = http://192.168.1.111:8080
|
xbmc_host = http://${var.ips["eth0"]}:8080
|
||||||
xbmc_enabled = 1
|
xbmc_enabled = 1
|
||||||
xbmc_update = 1
|
xbmc_update = 1
|
||||||
xbmc_password = ""
|
xbmc_password = ""
|
||||||
|
|
|
@ -33,7 +33,7 @@ resource "docker_container" "mariadb" {
|
||||||
ports {
|
ports {
|
||||||
internal = 3306
|
internal = 3306
|
||||||
external = 3306
|
external = 3306
|
||||||
ip = "192.168.1.111"
|
ip = "${var.ips["eth0"]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
memory = 512
|
memory = 512
|
||||||
|
|
|
@ -18,7 +18,7 @@ resource docker_container "transmission" {
|
||||||
ports {
|
ports {
|
||||||
internal = 51413
|
internal = 51413
|
||||||
external = 51413
|
external = 51413
|
||||||
ip = "192.168.1.111"
|
ip = "${var.ips["eth0"]}"
|
||||||
protocol = "udp"
|
protocol = "udp"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -74,13 +74,13 @@ resource docker_container "gitea" {
|
||||||
ports {
|
ports {
|
||||||
internal = 22
|
internal = 22
|
||||||
external = 2222
|
external = 2222
|
||||||
ip = "192.168.1.111"
|
ip = "${var.ips["eth0"]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
ports {
|
ports {
|
||||||
internal = 22
|
internal = 22
|
||||||
external = 2222
|
external = 2222
|
||||||
ip = "10.8.0.14"
|
ip = "${var.ips["tun0"]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
volumes {
|
volumes {
|
||||||
|
@ -110,7 +110,7 @@ resource "docker_container" "emby" {
|
||||||
}
|
}
|
||||||
|
|
||||||
labels {
|
labels {
|
||||||
"traefik.frontend.rule" = "Host:emby.in.bb8.fun,emby.bb8.fun"
|
"traefik.frontend.rule" = "Host:emby.in.${var.domain},emby.${var.domain}"
|
||||||
"traefik.frontend.passHostHeader" = "true"
|
"traefik.frontend.passHostHeader" = "true"
|
||||||
"traefik.frontend.auth.basic" = "${var.basic_auth}"
|
"traefik.frontend.auth.basic" = "${var.basic_auth}"
|
||||||
"traefik.port" = 8096
|
"traefik.port" = 8096
|
||||||
|
@ -217,7 +217,7 @@ resource "docker_container" "airsonic" {
|
||||||
}
|
}
|
||||||
|
|
||||||
labels {
|
labels {
|
||||||
"traefik.frontend.rule" = "Host:airsonic.in.bb8.fun,airsonic.bb8.fun"
|
"traefik.frontend.rule" = "Host:airsonic.in.${var.domain},airsonic.${var.domain}"
|
||||||
"traefik.frontend.passHostHeader" = "true"
|
"traefik.frontend.passHostHeader" = "true"
|
||||||
"traefik.port" = 4040
|
"traefik.port" = 4040
|
||||||
"traefik.enable" = "true"
|
"traefik.enable" = "true"
|
||||||
|
@ -240,7 +240,7 @@ resource "docker_container" "headerdebug" {
|
||||||
memory = 16
|
memory = 16
|
||||||
|
|
||||||
labels {
|
labels {
|
||||||
"traefik.frontend.rule" = "Host:debug.in.bb8.fun"
|
"traefik.frontend.rule" = "Host:debug.in.${var.domain}"
|
||||||
"traefik.frontend.passHostHeader" = "true"
|
"traefik.frontend.passHostHeader" = "true"
|
||||||
"traefik.port" = 8080
|
"traefik.port" = 8080
|
||||||
"traefik.enable" = "true"
|
"traefik.enable" = "true"
|
||||||
|
@ -380,11 +380,11 @@ resource "docker_container" "ubooquity" {
|
||||||
"traefik.enable" = "true"
|
"traefik.enable" = "true"
|
||||||
|
|
||||||
"traefik.admin.port" = 2203
|
"traefik.admin.port" = 2203
|
||||||
"traefik.admin.frontend.rule" = "Host:library.bb8.fun"
|
"traefik.admin.frontend.rule" = "Host:library.${var.domain}"
|
||||||
"traefik.admin.frontend.auth.basic" = "${var.basic_auth}"
|
"traefik.admin.frontend.auth.basic" = "${var.basic_auth}"
|
||||||
|
|
||||||
"traefik.read.port" = 2202
|
"traefik.read.port" = 2202
|
||||||
"traefik.read.frontend.rule" = "Host:read.bb8.fun"
|
"traefik.read.frontend.rule" = "Host:read.${var.domain}"
|
||||||
|
|
||||||
"traefik.read.frontend.headers.SSLTemporaryRedirect" = "true"
|
"traefik.read.frontend.headers.SSLTemporaryRedirect" = "true"
|
||||||
"traefik.read.frontend.headers.STSSeconds" = "2592000"
|
"traefik.read.frontend.headers.STSSeconds" = "2592000"
|
||||||
|
@ -438,7 +438,7 @@ resource "docker_container" "wiki" {
|
||||||
}
|
}
|
||||||
|
|
||||||
labels {
|
labels {
|
||||||
"traefik.frontend.rule" = "Host:wiki.bb8.fun"
|
"traefik.frontend.rule" = "Host:wiki.${var.domain}"
|
||||||
"traefik.frontend.passHostHeader" = "true"
|
"traefik.frontend.passHostHeader" = "true"
|
||||||
"traefik.port" = 9999
|
"traefik.port" = 9999
|
||||||
"traefik.enable" = "true"
|
"traefik.enable" = "true"
|
||||||
|
@ -471,7 +471,7 @@ resource "docker_container" "muximux" {
|
||||||
}
|
}
|
||||||
|
|
||||||
labels {
|
labels {
|
||||||
"traefik.frontend.rule" = "Host:home.in.bb8.fun,home.bb8.fun"
|
"traefik.frontend.rule" = "Host:home.in.${var.domain},home.${var.domain}"
|
||||||
"traefik.frontend.passHostHeader" = "false"
|
"traefik.frontend.passHostHeader" = "false"
|
||||||
"traefik.frontend.auth.basic" = "${var.basic_auth}"
|
"traefik.frontend.auth.basic" = "${var.basic_auth}"
|
||||||
"traefik.port" = 80
|
"traefik.port" = 80
|
||||||
|
@ -532,7 +532,7 @@ resource "docker_container" "cadvisor" {
|
||||||
}
|
}
|
||||||
|
|
||||||
labels {
|
labels {
|
||||||
"traefik.frontend.rule" = "Host:cadvisor.bb8.fun"
|
"traefik.frontend.rule" = "Host:cadvisor.${var.domain}"
|
||||||
"traefik.frontend.auth.basic" = "${var.basic_auth}"
|
"traefik.frontend.auth.basic" = "${var.basic_auth}"
|
||||||
"traefik.port" = 8080
|
"traefik.port" = 8080
|
||||||
"traefik.enable" = "true"
|
"traefik.enable" = "true"
|
||||||
|
|
|
@ -6,41 +6,41 @@ resource "docker_container" "traefik" {
|
||||||
ports {
|
ports {
|
||||||
internal = 1111
|
internal = 1111
|
||||||
external = 1111
|
external = 1111
|
||||||
ip = "192.168.1.111"
|
ip = "${var.ips["eth0"]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Local Web Server
|
# Local Web Server
|
||||||
ports {
|
ports {
|
||||||
internal = 80
|
internal = 80
|
||||||
external = 8888
|
external = 8888
|
||||||
ip = "192.168.1.111"
|
ip = "${var.ips["eth0"]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Local Web Server
|
# Local Web Server
|
||||||
ports {
|
ports {
|
||||||
internal = 80
|
internal = 80
|
||||||
external = 80
|
external = 80
|
||||||
ip = "192.168.1.111"
|
ip = "${var.ips["eth0"]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Local Web Server (HTTPS)
|
# Local Web Server (HTTPS)
|
||||||
ports {
|
ports {
|
||||||
internal = 443
|
internal = 443
|
||||||
external = 443
|
external = 443
|
||||||
ip = "192.168.1.111"
|
ip = "${var.ips["eth0"]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Proxied via sydney.captnemo.in
|
# Proxied via sydney.captnemo.in
|
||||||
ports {
|
ports {
|
||||||
internal = 443
|
internal = 443
|
||||||
external = 443
|
external = 443
|
||||||
ip = "10.8.0.14"
|
ip = "${var.ips["tun0"]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
ports {
|
ports {
|
||||||
internal = 80
|
internal = 80
|
||||||
external = 80
|
external = 80
|
||||||
ip = "10.8.0.14"
|
ip = "${var.ips["tun0"]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
upload {
|
upload {
|
||||||
|
|
|
@ -46,7 +46,10 @@ variable "wiki_session_secret" {
|
||||||
type = "string"
|
type = "string"
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "ips" {
|
variable "domain" {
|
||||||
eth0 = "192.168.1.111"
|
type = "string"
|
||||||
tun0 = "10.8.0.14"
|
}
|
||||||
|
|
||||||
|
variable "ips" {
|
||||||
|
type = "map"
|
||||||
}
|
}
|
||||||
|
|
6
main.tf
6
main.tf
|
@ -1,5 +1,5 @@
|
||||||
provider "docker" {
|
provider "docker" {
|
||||||
host = "tcp://docker.in.bb8.fun:2376"
|
host = "tcp://docker.vpn.bb8.fun:2376"
|
||||||
cert_path = "./secrets"
|
cert_path = "./secrets"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ module "cloudflare" {
|
||||||
source = "cloudflare"
|
source = "cloudflare"
|
||||||
domain = "bb8.fun"
|
domain = "bb8.fun"
|
||||||
proxy = "sydney.captnemo.in"
|
proxy = "sydney.captnemo.in"
|
||||||
act_ip = "10.242.36.126"
|
ips = "${var.ips}"
|
||||||
}
|
}
|
||||||
|
|
||||||
module "mysql" {
|
module "mysql" {
|
||||||
|
@ -28,4 +28,6 @@ module "docker" {
|
||||||
cloudflare_key = "${var.cloudflare_key}"
|
cloudflare_key = "${var.cloudflare_key}"
|
||||||
cloudflare_email = "bb8@captnemo.in"
|
cloudflare_email = "bb8@captnemo.in"
|
||||||
wiki_session_secret = "${var.wiki_session_secret}"
|
wiki_session_secret = "${var.wiki_session_secret}"
|
||||||
|
ips = "${var.ips}"
|
||||||
|
domain = "bb8.fun"
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,3 +18,11 @@ variable "mysql_root_password" {
|
||||||
variable "wiki_session_secret" {
|
variable "wiki_session_secret" {
|
||||||
type = "string"
|
type = "string"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
variable "ips" {
|
||||||
|
type = "map"
|
||||||
|
default = {
|
||||||
|
eth0 = "192.168.1.111"
|
||||||
|
tun0 = "10.8.0.14"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue