238 lines
4.9 KiB
HCL
238 lines
4.9 KiB
HCL
terraform {
|
|
backend "local" {
|
|
path = "${var.HOME}/Nextcloud/tofu/terraform.tfstate"
|
|
}
|
|
}
|
|
|
|
module "lxc_haproxy" {
|
|
source = "./proxmox_lxc_container"
|
|
server_name = "haproxy"
|
|
server_desc = "* HAProxy (point de terminaison TLS IPv4)"
|
|
ip_suffix = 2
|
|
}
|
|
|
|
module "lxc_bt" {
|
|
source = "./proxmox_lxc_container"
|
|
server_name = "bt"
|
|
server_desc = "* Transmission\n* Sonarr\n* Jackett"
|
|
ip_suffix = 3
|
|
memory_dedicated = 1024
|
|
unprivileged = false
|
|
disk = [{
|
|
size = "150G"
|
|
path = "/var/lib/transmission-daemon"
|
|
}]
|
|
features = {
|
|
nesting = true
|
|
keyctl = null
|
|
fuse = null
|
|
mount = ["nfs"]
|
|
}
|
|
}
|
|
|
|
module "lxc_mail" {
|
|
source = "./proxmox_lxc_container"
|
|
server_name = "mail"
|
|
server_desc = "* Postfix\n* Postgrey\n* Dovecot\n* Spamassassin\n* OpenDKIM\n* OpenDMARC"
|
|
ip_suffix = 4
|
|
start_on_boot = true
|
|
memory_dedicated = 512
|
|
disk = [{
|
|
size = "10G"
|
|
path = "/home"
|
|
}]
|
|
}
|
|
|
|
module "lxc_web1" {
|
|
source = "./proxmox_lxc_container"
|
|
server_name = "web1"
|
|
server_desc = "* Shaarli\n* FreshRSS\n* Nextcloud\n* Blog\n* Roundcube\n* Firefly3\n* Repo\n* Koillection"
|
|
ip_suffix = 5
|
|
start_on_boot = true
|
|
cpu_cores = 2
|
|
memory_dedicated = 2048
|
|
disk = [{
|
|
size = "10G"
|
|
path = "/srv"
|
|
}]
|
|
}
|
|
|
|
module "lxc_web2" {
|
|
source = "./proxmox_lxc_container"
|
|
server_name = "web2"
|
|
server_desc = "* Wordpress\n* phpBB"
|
|
ip_suffix = 6
|
|
start_on_boot = true
|
|
cpu_cores = 2
|
|
memory_dedicated = 4096
|
|
disk = [{
|
|
size = "60G"
|
|
path = "/srv"
|
|
}]
|
|
}
|
|
|
|
module "lxc_voice1" {
|
|
source = "./proxmox_lxc_container"
|
|
server_name = "voice1"
|
|
server_desc = "* Mumble"
|
|
ip_suffix = 7
|
|
cpu_cores = 2
|
|
memory_dedicated = 512
|
|
}
|
|
|
|
module "lxc_syslog" {
|
|
source = "./proxmox_lxc_container"
|
|
server_name = "syslog"
|
|
server_desc = "* syslog-ng"
|
|
ip_suffix = 8
|
|
disk = [{
|
|
size = "20G"
|
|
path = "/srv"
|
|
}]
|
|
}
|
|
|
|
module "lxc_voice3" {
|
|
source = "./proxmox_lxc_container"
|
|
server_name = "voice3"
|
|
server_desc = "* Icecast2"
|
|
ip_suffix = 9
|
|
}
|
|
|
|
module "lxc_jabber" {
|
|
source = "./proxmox_lxc_container"
|
|
server_name = "jabber"
|
|
server_desc = "* Prosody"
|
|
ip_suffix = 10
|
|
}
|
|
|
|
module "lxc_garage1" {
|
|
source = "./proxmox_lxc_container"
|
|
server_name = "garage1"
|
|
server_desc = "* Nextcloud storage\n* Mastodon storage\n* Peertube storage"
|
|
ip_suffix = 11
|
|
memory_dedicated = 1024
|
|
start_on_boot = true
|
|
disk = [{
|
|
size = "400G"
|
|
path = "/var/lib/private"
|
|
}]
|
|
}
|
|
|
|
module "lxc_munin" {
|
|
source = "./proxmox_lxc_container"
|
|
server_name = "munin"
|
|
server_desc = "* munin"
|
|
ip_suffix = 12
|
|
}
|
|
|
|
module "lxc_unifi" {
|
|
source = "./proxmox_lxc_container"
|
|
server_name = "unifi"
|
|
server_desc = "* unifi server"
|
|
ip_suffix = 13
|
|
memory_dedicated = 2048
|
|
}
|
|
|
|
module "lxc_ftp" {
|
|
source = "./proxmox_lxc_container"
|
|
server_name = "ftp"
|
|
server_desc = "* FTP pour les caméras"
|
|
ip_suffix = 14
|
|
disk = [{
|
|
size = "60G"
|
|
path = "/srv"
|
|
}]
|
|
}
|
|
|
|
module "lxc_dom" {
|
|
source = "./proxmox_lxc_container"
|
|
server_name = "dom"
|
|
server_desc = "* Jeedom\n* Z-wave USB"
|
|
ip_suffix = 15
|
|
memory_dedicated = 512
|
|
start_on_boot = true
|
|
debian_tmpl = "local:vztmpl/debian-11-standard_11.7-1_amd64.tar.zst"
|
|
}
|
|
|
|
module "lxc_git1" {
|
|
source = "./proxmox_lxc_container"
|
|
server_name = "git1"
|
|
server_desc = "* Gitea"
|
|
ip_suffix = 16
|
|
memory_dedicated = 1024
|
|
cpu_cores = 2
|
|
features = {
|
|
nesting = true
|
|
keyctl = true
|
|
fuse = true
|
|
mount = null
|
|
}
|
|
disk = [{
|
|
size = "10G"
|
|
path = "/srv"
|
|
},
|
|
{
|
|
size = "10G"
|
|
path = "/var/lib/docker"
|
|
}]
|
|
}
|
|
|
|
module "lxc_web3" {
|
|
source = "./proxmox_lxc_container"
|
|
server_name = "web3"
|
|
server_desc = "* Wordpress Sebi"
|
|
ip_suffix = 17
|
|
memory_dedicated = 4096
|
|
start_on_boot = true
|
|
disk = [{
|
|
size = "10G"
|
|
path = "/srv"
|
|
}]
|
|
}
|
|
|
|
module "lxc_vlt1" {
|
|
source = "./proxmox_lxc_container"
|
|
server_name = "vlt1"
|
|
server_desc = "* Vaultwarden"
|
|
ip_suffix = 18
|
|
}
|
|
|
|
module "lxc_masto1" {
|
|
source = "./proxmox_lxc_container"
|
|
server_name = "masto1"
|
|
server_desc = "* Mastodon"
|
|
ip_suffix = 19
|
|
cpu_cores = 2
|
|
memory_dedicated = 4096
|
|
disk = [{
|
|
size = "20G"
|
|
path = "/srv"
|
|
}]
|
|
}
|
|
|
|
module "lxc_pt1" {
|
|
source = "./proxmox_lxc_container"
|
|
server_name = "pt1"
|
|
server_desc = "* PeerTube"
|
|
ip_suffix = 20
|
|
cpu_cores = 2
|
|
memory_dedicated = 2048
|
|
disk = [{
|
|
size = "20G"
|
|
path = "/srv"
|
|
}]
|
|
}
|
|
|
|
module "lxc_es1" {
|
|
source = "./proxmox_lxc_container"
|
|
server_name = "es1"
|
|
server_desc = "Elastic Search"
|
|
ip_suffix = 21
|
|
memory_dedicated = 1024
|
|
start_on_boot = true
|
|
disk = [{
|
|
size = "10G"
|
|
path = "/srv"
|
|
}]
|
|
}
|