Files
tofu/main.tf
2025-03-06 14:55:01 +01:00

248 lines
4.5 KiB
HCL
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 = "Serveur libertus:\n* 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"
}]
}
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"
}]
}
module "lxc_git2" {
source = "./proxmox_lxc_container"
server_name = "git2"
server_desc = "Kata/dojo act_runner/Ansible"
ip_suffix = 22
memory_dedicated = 1024
features = {
nesting = true
keyctl = true
fuse = true
mount = null
}
}