Archived
initial commit of infrastructure
This commit is contained in:
+245
@@ -0,0 +1,245 @@
|
||||
variable "proxmox_api_token" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "containers" {
|
||||
type = map(object({
|
||||
vmid = number
|
||||
memory = optional(number, 128)
|
||||
swap = optional(number, 64)
|
||||
cores = optional(number, 1)
|
||||
size = optional(number, 1)
|
||||
started = optional(bool, true)
|
||||
start_on_boot = optional(bool, true)
|
||||
unprivileged = optional(bool, true)
|
||||
features = optional(object({
|
||||
fuse = optional(bool, false)
|
||||
keyctl = optional(bool, false)
|
||||
mknod = optional(bool, false)
|
||||
nesting = optional(bool, true)
|
||||
mount = optional(list(string), [])
|
||||
}), {
|
||||
fuse = false
|
||||
keyctl = false
|
||||
mknod = false
|
||||
nesting = true
|
||||
mount = []
|
||||
})
|
||||
mount_point = optional(list(object({
|
||||
volume = string
|
||||
path = string
|
||||
})), [])
|
||||
device_passthrough = optional(list(object({
|
||||
path = string
|
||||
gid = optional(number, 0)
|
||||
uid = optional(number, 0)
|
||||
mode = optional(string, "0660")
|
||||
deny_write = optional(bool, false)
|
||||
})), [])
|
||||
operating_system = optional(object({
|
||||
type = optional(string, "alpine")
|
||||
template_file_id = optional(string, "")
|
||||
}), {
|
||||
type = "alpine"
|
||||
template_file_id = ""
|
||||
})
|
||||
}))
|
||||
|
||||
default = {
|
||||
"nginx" = {
|
||||
vmid = 1002
|
||||
cores = 2
|
||||
memory = 256
|
||||
swap = 64
|
||||
}
|
||||
"pgsql" = {
|
||||
vmid = 1003
|
||||
cores = 2
|
||||
memory = 512
|
||||
swap = 256
|
||||
size = 16
|
||||
}
|
||||
"nfs" = {
|
||||
vmid = 1004
|
||||
unprivileged = false
|
||||
features = {
|
||||
mount = ["nfs"]
|
||||
}
|
||||
mount_point = [
|
||||
{ volume = "/mnt/media1", path = "/mnt/media1" },
|
||||
{ volume = "/mnt/media2", path = "/mnt/media2" }
|
||||
]
|
||||
}
|
||||
"ntfy" = {
|
||||
vmid = 1005
|
||||
cores = 2
|
||||
}
|
||||
"zabbix" = {
|
||||
vmid = 1006
|
||||
memory = 256
|
||||
swap = 128
|
||||
}
|
||||
"smb" = {
|
||||
vmid = 1007
|
||||
mount_point = [
|
||||
{ volume = "/mnt/media1", path = "/mnt/media1" },
|
||||
{ volume = "/mnt/media2", path = "/mnt/media2" }
|
||||
]
|
||||
}
|
||||
"vaultwarden" = {
|
||||
vmid = 1102
|
||||
cores = 2
|
||||
}
|
||||
"gitea" = {
|
||||
vmid = 1103
|
||||
memory = 512
|
||||
swap = 256
|
||||
size = 8
|
||||
}
|
||||
"radicale" = {
|
||||
vmid = 1104
|
||||
}
|
||||
"slskd" = {
|
||||
vmid = 1105
|
||||
memory = 256
|
||||
swap = 128
|
||||
size = 2
|
||||
mount_point = [
|
||||
{ volume = "/mnt/media1", path = "/mnt/media1" },
|
||||
{ volume = "/mnt/media2", path = "/mnt/media2" }
|
||||
]
|
||||
}
|
||||
"asf" = {
|
||||
vmid = 1106
|
||||
memory = 256
|
||||
swap = 128
|
||||
size = 2
|
||||
}
|
||||
"rtorrent" = {
|
||||
vmid = 1107
|
||||
memory = 1024
|
||||
swap = 512
|
||||
cores = 2
|
||||
mount_point = [
|
||||
{ volume = "/mnt/media1", path = "/mnt/media1" },
|
||||
{ volume = "/mnt/media2", path = "/mnt/media2" }
|
||||
]
|
||||
}
|
||||
"jellyfin" = {
|
||||
vmid = 1108
|
||||
memory = 4096
|
||||
swap = 2048
|
||||
cores = 8
|
||||
size = 10
|
||||
mount_point = [
|
||||
{ volume = "/mnt/media1", path = "/mnt/media1" },
|
||||
{ volume = "/mnt/media2", path = "/mnt/media2" }
|
||||
]
|
||||
}
|
||||
"prosody" = {
|
||||
vmid = 1109
|
||||
memory = 512
|
||||
swap = 256
|
||||
size = 12
|
||||
}
|
||||
"coturn" = {
|
||||
vmid = 1110
|
||||
memory = 512
|
||||
swap = 256
|
||||
}
|
||||
"rclone" = {
|
||||
vmid = 1111
|
||||
memory = 512
|
||||
swap = 256
|
||||
mount_point = [
|
||||
{ volume = "/var/lib/vz/dump/", path = "/mnt/backup/proxmox" },
|
||||
{ volume = "/mnt/media1/backup/", path = "/mnt/backup/bananawrt" }
|
||||
]
|
||||
}
|
||||
"obs" = {
|
||||
vmid = 1112
|
||||
memory = 2048
|
||||
swap = 1024
|
||||
cores = 4
|
||||
size = 5
|
||||
start_on_boot = false
|
||||
started = false
|
||||
device_passthrough = [
|
||||
#{ path = "/dev/dri/card0", gid = 983, uid = 0, mode = "0660" },
|
||||
#{ path = "/dev/dri/renderD128", gid = 987, uid = 0, mode = "0660" },
|
||||
#{ path = "/dev/video0", gid = 983, uid = 0, mode = "0660" },
|
||||
#{ path = "/dev/video1", gid = 983, uid = 0, mode = "0660" },
|
||||
#{ path = "/dev/video3", gid = 983, uid = 0, mode = "0660" },
|
||||
#{ path = "/dev/video4", gid = 983, uid = 0, mode = "0660" },
|
||||
#{ path = "/dev/snd/controlC2", gid = 995, uid = 0, mode = "0660" },
|
||||
#{ path = "/dev/snd/controlC3", gid = 995, uid = 0, mode = "0660" },
|
||||
#{ path = "/dev/snd/controlC4", gid = 995, uid = 0, mode = "0660" },
|
||||
#{ path = "/dev/snd/pcmC2D0c", gid = 995, uid = 0, mode = "0660" },
|
||||
#{ path = "/dev/snd/pcmC3D0c", gid = 995, uid = 0, mode = "0660" },
|
||||
#{ path = "/dev/snd/pcmC4D0c", gid = 995, uid = 0, mode = "0660" },
|
||||
#{ path = "/dev/snd/pcmC4D0p", gid = 995, uid = 0, mode = "0660" }
|
||||
]
|
||||
operating_system = {
|
||||
type = "archlinux"
|
||||
}
|
||||
}
|
||||
"torrserver" = {
|
||||
vmid = 1113
|
||||
memory = 2048
|
||||
swap = 1024
|
||||
cores = 1
|
||||
}
|
||||
"prowlarr" = {
|
||||
vmid = 1114
|
||||
memory = 512
|
||||
swap = 256
|
||||
}
|
||||
"bylampa" = {
|
||||
vmid = 1115
|
||||
memory = 512
|
||||
swap = 256
|
||||
}
|
||||
"flaresolverr" = {
|
||||
vmid = 1116
|
||||
memory = 1024
|
||||
swap = 512
|
||||
cores = 2
|
||||
size = 2
|
||||
}
|
||||
"gitearunner" = {
|
||||
vmid = 1117
|
||||
memory = 1024
|
||||
swap = 512
|
||||
cores = 2
|
||||
operating_system = {
|
||||
type = "alpine"
|
||||
template_file_id = "local:vztmpl/alpine-3.23-default_20260116_amd64.tar.xz"
|
||||
}
|
||||
}
|
||||
"ps3netsrv" = {
|
||||
vmid = 1202
|
||||
mount_point = [
|
||||
{ volume = "/mnt/media1", path = "/mnt/media1" },
|
||||
{ volume = "/mnt/media2", path = "/mnt/media2" }
|
||||
]
|
||||
}
|
||||
"mcsmanager" = {
|
||||
vmid = 1203
|
||||
memory = 6144
|
||||
swap = 3072
|
||||
cores = 8
|
||||
size = 20
|
||||
}
|
||||
"steamcmd" = {
|
||||
vmid = 1204
|
||||
memory = 6144
|
||||
swap = 3072
|
||||
cores = 8
|
||||
size = 32
|
||||
operating_system = {
|
||||
type = "debian"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user