1575 lines
35 KiB
Plaintext
1575 lines
35 KiB
Plaintext
kubernetes = {
|
|
bookstack = {
|
|
#namespace = "bookstack"
|
|
#enabled = false
|
|
replicas = 01
|
|
extra_manifest = ["/opt/kubernetes/Bookstack_kube/Bookstack.configmap.yaml", "/opt/kubernetes/Bookstack_kube/Bookstack.secret.yaml"]
|
|
#image = "linuxserver/bookstack:24.10.3"
|
|
image = "linuxserver/bookstack:latest"
|
|
service_port = [80, 443]
|
|
database = {
|
|
"image" = "lscr.io/linuxserver/mariadb"
|
|
"port" = 3306
|
|
"mountPath" = "/config"
|
|
}
|
|
# requirements = {
|
|
# limits-cpu = "18m"
|
|
# limits-memory = "100Mi"
|
|
# requests-cpu = "10m"
|
|
# requests-memory = "70Mi"
|
|
# }
|
|
secret_ref = ["bookstack-credentials"]
|
|
config_map_ref = ["config"]
|
|
|
|
environment = {
|
|
POSTGRES_HOST = {
|
|
value = "db"
|
|
}
|
|
}
|
|
|
|
environment = {
|
|
MYSQL_ROOT_PASSWORD = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "bookstack-credentials"
|
|
key = "DB_PASS"
|
|
}
|
|
}
|
|
}
|
|
MYSQL_DATABASE = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "bookstack-credentials"
|
|
key = "DB_DATABASE"
|
|
}
|
|
}
|
|
}
|
|
MYSQL_USER = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "bookstack-credentials"
|
|
key = "DB_USER"
|
|
}
|
|
}
|
|
}
|
|
MYSQL_PASSWORD = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "bookstack-credentials"
|
|
key = "DB_PASS"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
pvc = {
|
|
bookstack-webserver = {
|
|
name = "bookstack-webserver"
|
|
pvc = true
|
|
pvc_size = "2Gi"
|
|
mount_path = "/config"
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
screeps = {
|
|
enabled = false
|
|
name = "screeps-server"
|
|
image = "screepers/screeps-launcher"
|
|
service_port = [21025]
|
|
service_type = "LoadBalancer"
|
|
|
|
environment = {
|
|
STEAM_KEY = {
|
|
value = "F2B37945342AD0DBD6DCAF3440E77C4E"
|
|
}
|
|
}
|
|
requirements = {
|
|
limits-cpu = "1000m"
|
|
limits-memory = "1Gi"
|
|
requests-cpu = "500m"
|
|
requests-memory = "400Mi"
|
|
}
|
|
pvc = {
|
|
screeps-volume = {
|
|
name = "screeps"
|
|
pvc_size = "1Gi"
|
|
pvc = true
|
|
mount_path = "/screeps"
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
stirling = {
|
|
enabled = false
|
|
name = "stirling-pdf"
|
|
image = "docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest"
|
|
service_port = [8080]
|
|
|
|
environment = {
|
|
LANGS = {
|
|
value = "en_GB"
|
|
}
|
|
}
|
|
requirements = {
|
|
limits-cpu = "100m"
|
|
limits-memory = "300Mi"
|
|
requests-cpu = "50m"
|
|
requests-memory = "150Mi"
|
|
}
|
|
pvc = {
|
|
stirling-volume = {
|
|
name = "stirling-pdf"
|
|
pvc_size = "100Mi"
|
|
pvc = true
|
|
mount_path = "/configs"
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
stash = {
|
|
# enabled = false
|
|
replicas = 0
|
|
name = "stash"
|
|
image = "stashapp/stash:latest"
|
|
service_port = [9999]
|
|
#extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/stash/stash-reddit-dowloader.configmap.yml"]
|
|
environment = {
|
|
STASH_STASH = {
|
|
value = "/data/"
|
|
}
|
|
STASH_GENERATED = {
|
|
value = "/generated/"
|
|
}
|
|
STASH_METADATA = {
|
|
value = "/metadata/"
|
|
}
|
|
STASH_CACHE = {
|
|
value = "/cache/"
|
|
}
|
|
STASH_PORT = {
|
|
value = "9999"
|
|
}
|
|
}
|
|
requirements = {
|
|
limits-cpu = "1000m"
|
|
limits-memory = "3000Mi"
|
|
requests-cpu = "50m"
|
|
requests-memory = "150Mi"
|
|
}
|
|
pvc = {
|
|
data = {
|
|
name = "data"
|
|
pvc_size = "100Mi"
|
|
pvc = true
|
|
mount_path = "/data"
|
|
storage_class_name = "nfs-storage-fastaccess"
|
|
}
|
|
metadata = {
|
|
name = "metadata"
|
|
pvc_size = "100Mi"
|
|
pvc = true
|
|
mount_path = "/metadata"
|
|
}
|
|
generated = {
|
|
name = "generated"
|
|
pvc_size = "100Mi"
|
|
pvc = true
|
|
mount_path = "/generated"
|
|
}
|
|
config = {
|
|
name = "config"
|
|
pvc_size = "100Mi"
|
|
pvc = true
|
|
mount_path = "/root/.stash"
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
gluetun = {
|
|
# enabled = false
|
|
dns_nameservers = "10.2.0.1"
|
|
replicas = 01
|
|
image = "qmcgaw/gluetun:latest"
|
|
service_port = [8888]
|
|
extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/gluetun/gluetun-secret-netherland.yaml"]
|
|
security_context = true
|
|
# requirements = {
|
|
# limits-cpu = "800Mi"
|
|
# limits-memory = "800Mi"
|
|
# requests-cpu = "800Mi"
|
|
# requests-memory = "800Mi"
|
|
# }
|
|
environment = {
|
|
DNS_ADDRESS = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "gluetun-secret-netherland"
|
|
key = "VPN_DNS_IP"
|
|
}
|
|
}
|
|
}
|
|
WIREGUARD_ENDPOINT_IP = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "gluetun-secret-netherland"
|
|
key = "VPN_ENDPOINT_IP"
|
|
}
|
|
}
|
|
}
|
|
WIREGUARD_ENDPOINT_PORT = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "gluetun-secret-netherland"
|
|
key = "VPN_ENDPOINT_PORT"
|
|
}
|
|
}
|
|
}
|
|
WIREGUARD_PRIVATE_KEY = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "gluetun-secret-netherland"
|
|
key = "WIREGUARD_PRIVATE_KEY"
|
|
}
|
|
}
|
|
}
|
|
WIREGUARD_PUBLIC_KEY = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "gluetun-secret-netherland"
|
|
key = "WIREGUARD_PUBLIC_KEY"
|
|
}
|
|
}
|
|
}
|
|
# SHADOWSOCKS = {
|
|
HTTPPROXY = {
|
|
value = "on"
|
|
}
|
|
#SHADOWSOCKS_LOG = {
|
|
HTTPPROXY_LOG = {
|
|
value = "on"
|
|
}
|
|
HTTPPROXY_LISTENING_ADDRESS = {
|
|
#SHADOWSOCKS_LISTENING_ADDRESS = {
|
|
value = "0.0.0.0:8888"
|
|
}
|
|
# HTTPPROXY_USER = {
|
|
# value = "user"
|
|
# }
|
|
|
|
#SHADOWSOCKS_PASSWORD = {
|
|
# HTTPPROXY_PASSWORD = {
|
|
# value = "user"
|
|
#}
|
|
DNS_KEEP_NAMESERVER = {
|
|
value = "off"
|
|
}
|
|
VPN_SERVICE_PROVIDER = {
|
|
value = "custom"
|
|
}
|
|
VPN_TYPE = {
|
|
value = "wireguard"
|
|
}
|
|
WIREGUARD_ADDRESSES = {
|
|
value = "10.2.0.2/32"
|
|
}
|
|
FIREWALL_INPUT_PORTS = {
|
|
value = "8081,7878,9696,9091,51413,8080,6881,8989,8191,8888,8000"
|
|
}
|
|
PUBLICIP_API = {
|
|
value = "ip2location"
|
|
}
|
|
|
|
HEALTH_TARGET_ADDRESS = {
|
|
value = "protonvpn.com"
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
onitama = {
|
|
enabled = false
|
|
namespace = "onitama"
|
|
image = "ghcr.io/jackadamson/onitama:latest"
|
|
service_port = [8080]
|
|
requirements = {
|
|
limits-cpu = "50m"
|
|
limits-memory = "50Mi"
|
|
requests-cpu = "25m"
|
|
requests-memory = "25Mi"
|
|
}
|
|
environment = {
|
|
PORT = {
|
|
value = "80"
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
nginx = {
|
|
enabled = false
|
|
namespace = "testnginx"
|
|
image = "nginx:latest"
|
|
#pvc_size = "10Mi"
|
|
# mount_path = "/code"
|
|
# service_port = 80
|
|
# liveness_http_get = 80
|
|
# requirements = {
|
|
# limits-cpu = "200m"
|
|
# limits-memory = "200Mi"
|
|
# requests-cpu = "50m"
|
|
# requests-memory = "50Mi"
|
|
# }
|
|
# environment_variables = [{
|
|
# "name" : "NGINX_PORT",
|
|
# "value" : "80"
|
|
# name = "NGINX-second_PORT" , value = "81"
|
|
# }]
|
|
environment_variables = { t1est = "tset", a2nother = "rehtona" }
|
|
# environment_variables = { t1est = "tset" }
|
|
# environment_variables = {
|
|
# name = "NGINX_PORT" , value = "80"
|
|
# name = "NGINX-second_PORT" , value = "81"
|
|
# }
|
|
pvc = {
|
|
first = {
|
|
name = "nginx"
|
|
pvc_size = "1Mi"
|
|
mount_path = "/code"
|
|
}
|
|
}
|
|
}
|
|
|
|
redis = {
|
|
enabled = false
|
|
image = "redis"
|
|
service_port = [6379]
|
|
liveness_tcp_socket = 6379
|
|
# environment_variables = [{
|
|
# "name" : "redis_PORT",
|
|
# "value" : "6379"
|
|
# }]
|
|
}
|
|
|
|
vulcan = {
|
|
enabled = false
|
|
image = "localhost:31795/vulcan-frontend:latest"
|
|
service_port = [80]
|
|
requirements = {
|
|
limits-cpu = "50m"
|
|
limits-memory = "50Mi"
|
|
requests-cpu = "50m"
|
|
requests-memory = "50Mi"
|
|
}
|
|
}
|
|
bwdownload = {
|
|
enabled = false
|
|
namespace = "backup-bitwarden"
|
|
image = "alpine"
|
|
requirements = {
|
|
limits-cpu = "50m"
|
|
limits-memory = "50Mi"
|
|
requests-cpu = "50m"
|
|
requests-memory = "50Mi"
|
|
}
|
|
}
|
|
gogs = {
|
|
enabled = false
|
|
image = "gogs/gogs"
|
|
requirements = {
|
|
limits-cpu = "50m"
|
|
limits-memory = "50Mi"
|
|
requests-cpu = "50m"
|
|
requests-memory = "50Mi"
|
|
}
|
|
service_port = [3000]
|
|
pvc_size = "1Gi"
|
|
mount_path = "/data"
|
|
}
|
|
gitea = {
|
|
enabled = false
|
|
image = "gitea/gitea:1.22.3"
|
|
requirements = {
|
|
limits-cpu = "50m"
|
|
limits-memory = "50Mi"
|
|
requests-cpu = "50m"
|
|
requests-memory = "50Mi"
|
|
}
|
|
service_port = [3000]
|
|
pvc_size = "1Gi"
|
|
mount_path = "/data"
|
|
}
|
|
|
|
notmuch = {
|
|
enabled = false
|
|
image = "kalbasit/notmuch"
|
|
service_port = [80]
|
|
}
|
|
|
|
spider = {
|
|
#needs to create a secret.key on the pvc
|
|
enabled = false
|
|
image = "iredmail/spider:latest"
|
|
requirements = {
|
|
limits-cpu = "200m"
|
|
limits-memory = "500Mi"
|
|
requests-cpu = "50m"
|
|
requests-memory = "50Mi"
|
|
}
|
|
service_port = [8080]
|
|
pvc = {
|
|
spider-data = {
|
|
pvc = true
|
|
name = "spider-data"
|
|
pvc_size = "100Mi"
|
|
mount_path = "/opt/spider"
|
|
}
|
|
}
|
|
}
|
|
|
|
piler = {
|
|
enabled = false
|
|
image = "sutoj/piler:1.4.5"
|
|
requirements = {
|
|
limits-cpu = "200m"
|
|
limits-memory = "500Mi"
|
|
requests-cpu = "50m"
|
|
requests-memory = "50Mi"
|
|
}
|
|
service_port = [80]
|
|
}
|
|
|
|
|
|
paper = {
|
|
enabled = false
|
|
namespace = "paper"
|
|
image = "ghcr.io/paperless-ngx/paperless-ngx:latest"
|
|
service_port = [8000]
|
|
database = {
|
|
image = "docker.io/library/postgres:15" }
|
|
redis = {
|
|
image = "docker.io/library/redis:7" }
|
|
requirements = {
|
|
limits-cpu = "800m"
|
|
limits-memory = "800Mi"
|
|
requests-cpu = "10m"
|
|
requests-memory = "300Mi"
|
|
}
|
|
extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/paperless/Paperless.secret.yaml"]
|
|
#config_map_ref = ["config"]
|
|
|
|
environment = {
|
|
POSTGRES_DB = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "paperless-credentials"
|
|
key = "POSTGRES_DB"
|
|
}
|
|
}
|
|
}
|
|
POSTGRES_USER = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "paperless-credentials"
|
|
key = "POSTGRES_USER"
|
|
}
|
|
}
|
|
}
|
|
POSTGRES_PASSWORD = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "paperless-credentials"
|
|
key = "POSTGRES_PASSWORD"
|
|
}
|
|
}
|
|
}
|
|
PAPERLESS_URL = {
|
|
value = "https://paper.tryton.geeraert.eu"
|
|
}
|
|
PAPERLESS_TIKA_ENABLED = {
|
|
value = "0"
|
|
}
|
|
PAPERLESS_TIKA_GOTENBERG_ENDPOINT = {
|
|
value = "http://gotenberg-svc.paper.svc:3000"
|
|
}
|
|
PAPERLESS_TIKA_ENDPOINT = {
|
|
value = "http://tika-svc.paper.svc:9998"
|
|
}
|
|
|
|
|
|
PAPERLESS_DBHOST = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "paperless-credentials"
|
|
key = "POSTGRES_HOST"
|
|
}
|
|
}
|
|
}
|
|
|
|
PAPERLESS_REDIS = {
|
|
value = "redis://paper-redis-svc:6379"
|
|
}
|
|
|
|
PAPERLESS_ADMIN_USER = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "paperless-credentials"
|
|
key = "POSTGRES_USER"
|
|
}
|
|
}
|
|
}
|
|
PAPERLESS_ADMIN_PASSWORD = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "paperless-credentials"
|
|
key = "POSTGRES_PASSWORD"
|
|
}
|
|
}
|
|
}
|
|
|
|
# PAPERLESS_ADMIN_USER = {
|
|
# value = "admin"
|
|
# }
|
|
# PAPERLESS_ADMIN_PASSWORD = {
|
|
# value = "admin"
|
|
# }
|
|
|
|
PAPERLESS_OCR_USER_ARGS = {
|
|
value = "{'invalidate_digital_signatures': true}"
|
|
}
|
|
}
|
|
pvc = {
|
|
paperless-data = {
|
|
pvc = true
|
|
name = "paperless-data"
|
|
pvc_size = "2Mi"
|
|
mount_path = "/usr/src/paperless/data"
|
|
}
|
|
# export = {
|
|
# host_path = "/tmp"
|
|
# name = "export"
|
|
# pvc_size = "2Mi"
|
|
# mount_path = "/usr/src/paperless/export"
|
|
# }
|
|
consume = {
|
|
pvc = true
|
|
name = "consume"
|
|
pvc_size = "2Mi"
|
|
mount_path = "/usr/src/paperless/consume"
|
|
}
|
|
}
|
|
}
|
|
gotenberg = {
|
|
enabled = false
|
|
name = "gotenberg"
|
|
connected_namespace = "paper"
|
|
image = "gotenberg/gotenberg:7.9.2"
|
|
service_port = [3000]
|
|
|
|
requirements = {
|
|
limits-cpu = "100m"
|
|
limits-memory = "300Mi"
|
|
requests-cpu = "50m"
|
|
requests-memory = "150Mi"
|
|
}
|
|
|
|
|
|
}
|
|
tika = {
|
|
enabled = false
|
|
name = "tika"
|
|
connected_namespace = "paper"
|
|
image = "ghcr.io/paperless-ngx/tika"
|
|
service_port = [9998]
|
|
|
|
requirements = {
|
|
limits-cpu = "100m"
|
|
limits-memory = "300Mi"
|
|
requests-cpu = "50m"
|
|
requests-memory = "150Mi"
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
next = {
|
|
enabled = false
|
|
namespace = "next"
|
|
replicas = 01
|
|
image = "nextcloud:29.0.3-apache"
|
|
service_port = [80]
|
|
extra_manifest = ["/opt/kubernetes/Nextcloud_kube/next.secret.yaml"]
|
|
database = {
|
|
image = "docker.io/library/postgres:14" }
|
|
redis = {
|
|
image = "docker.io/library/redis:7" }
|
|
requirements = {
|
|
limits-cpu = "800Mi"
|
|
limits-memory = "800Mi"
|
|
requests-cpu = "800Mi"
|
|
requests-memory = "800Mi"
|
|
}
|
|
environment = {
|
|
POSTGRES_DB = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "nextcloud-credentials"
|
|
key = "POSTGRES_DB"
|
|
}
|
|
}
|
|
}
|
|
POSTGRES_USER = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "nextcloud-credentials"
|
|
key = "POSTGRES_USER"
|
|
}
|
|
}
|
|
}
|
|
POSTGRES_PASSWORD = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "nextcloud-credentials"
|
|
key = "POSTGRES_PASSWORD"
|
|
}
|
|
}
|
|
}
|
|
POSTGRES_HOST = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "nextcloud-credentials"
|
|
key = "POSTGRES_HOST"
|
|
}
|
|
}
|
|
}
|
|
|
|
# REDIS_HOST = {
|
|
# value = "redis://next-redis-svc:6379"
|
|
# }
|
|
TRUSTED_PROXIES = {
|
|
value = "192.168.88.50 192.168.88.52"
|
|
}
|
|
OVERWRITECLIURL = {
|
|
value = "https://nextcloud.tryton.geeraert.eu"
|
|
}
|
|
OVERWRITEPROTOCOL = {
|
|
value = "https"
|
|
}
|
|
|
|
NEXTCLOUD_TRUSTED_DOMAINS = {
|
|
value = "nextcloud.tryton.geeraert.eu 192.168.88.52"
|
|
}
|
|
NEXTCLOUD_ADMIN_USER = {
|
|
value = "admin"
|
|
}
|
|
NEXTCLOUD_ADMIN_PASSWORD = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "nextcloud-credentials"
|
|
key = "PI_USER_PASSWORD"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
pvc = {
|
|
nextcloud-webserver = {
|
|
name = "nextcloud-webserver"
|
|
pvc_size = "2Mi"
|
|
pvc = true
|
|
mount_path = "/var/www/html"
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
neko = {
|
|
enabled = false
|
|
name = "neko"
|
|
image = "ghcr.io/m1k1o/neko/firefox:latest"
|
|
service_port = [8080]
|
|
|
|
environment = {
|
|
|
|
NEKO_WEBRTC_EPR = {
|
|
value = "56000-56100"
|
|
}
|
|
NEKO_WEBRTC_NAT1TO1 = {
|
|
value = "127.0.0.1"
|
|
}
|
|
|
|
NEKO_MEMBER_MULTIUSER_USER_PASSWORD = {
|
|
value = "neko"
|
|
}
|
|
NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD = {
|
|
value = "admin"
|
|
}
|
|
}
|
|
requirements = {
|
|
limits-cpu = "900m"
|
|
limits-memory = "600Mi"
|
|
requests-cpu = "300m"
|
|
requests-memory = "400Mi"
|
|
}
|
|
|
|
}
|
|
|
|
homeassistant = {
|
|
enabled = false
|
|
image = "ghcr.io/home-assistant/home-assistant:stable"
|
|
service_port = [8123]
|
|
|
|
environment = {
|
|
|
|
PORT = {
|
|
value = "80"
|
|
}
|
|
}
|
|
pvc = {
|
|
homeassistant-config = {
|
|
pvc = true
|
|
name = "homeassistant-config"
|
|
pvc_size = "2Mi"
|
|
mount_path = "/config"
|
|
}
|
|
etc_localtime = {
|
|
host_path = "/etc/localtime"
|
|
name = "export"
|
|
pvc_size = "2Mi"
|
|
mount_path = "/etc/localtime"
|
|
}
|
|
}
|
|
requirements = {
|
|
limits-cpu = "900m"
|
|
limits-memory = "600Mi"
|
|
requests-cpu = "300m"
|
|
requests-memory = "400Mi"
|
|
}
|
|
|
|
}
|
|
|
|
jellyfin = {
|
|
# enabled = false
|
|
replicas = 0
|
|
image = "jellyfin/jellyfin:latest"
|
|
service_port = [8096]
|
|
|
|
environment = {
|
|
|
|
JELLYFIN_PublishedServerUrl = {
|
|
value = "https://jellyfin.tryton.geeraert.eu"
|
|
}
|
|
}
|
|
pvc = {
|
|
jellyfin-config = {
|
|
pvc = true
|
|
name = "jellyfin-config"
|
|
pvc_size = "2Mi"
|
|
mount_path = "/config"
|
|
}
|
|
jellyfin-cache = {
|
|
pvc = true
|
|
name = "jellyfin-cache"
|
|
pvc_size = "2Mi"
|
|
mount_path = "/cache"
|
|
}
|
|
jellyfin-date = {
|
|
host_path = "/data"
|
|
name = "export"
|
|
pvc_size = "2Mi"
|
|
mount_path = "/data"
|
|
}
|
|
}
|
|
requirements = {
|
|
limits-cpu = "900m"
|
|
limits-memory = "600Mi"
|
|
requests-cpu = "300m"
|
|
requests-memory = "400Mi"
|
|
}
|
|
|
|
}
|
|
dupeguru = {
|
|
enabled = false
|
|
image = "jlesage/dupeguru"
|
|
service_port = [5800]
|
|
|
|
pvc = {
|
|
dupeguru-config = {
|
|
pvc = true
|
|
name = "dupeguru-config"
|
|
pvc_size = "2Mi"
|
|
mount_path = "/config"
|
|
}
|
|
dupeguru-storage = {
|
|
pvc = true
|
|
name = "dupeguru-storage"
|
|
pvc_size = "2Mi"
|
|
mount_path = "/storage"
|
|
}
|
|
dupeguru-duplicate = {
|
|
host_path = "/data"
|
|
name = "dupeguru-duplicate"
|
|
pvc_size = "2Mi"
|
|
mount_path = "/duplicate"
|
|
}
|
|
}
|
|
requirements = {
|
|
limits-cpu = "900m"
|
|
limits-memory = "600Mi"
|
|
requests-cpu = "300m"
|
|
requests-memory = "400Mi"
|
|
}
|
|
|
|
}
|
|
pinchflat = {
|
|
enabled = false
|
|
connected_namespace = "screeps"
|
|
image = "ghcr.io/kieraneglin/pinchflat:latest"
|
|
service_port = [8945]
|
|
|
|
pvc = {
|
|
pinchflat-config = {
|
|
pvc = true
|
|
name = "pinchflat-config"
|
|
pvc_size = "2Mi"
|
|
mount_path = "/config"
|
|
}
|
|
pinchflat-storage = {
|
|
pvc = true
|
|
name = "pinchflat-storage"
|
|
pvc_size = "2Mi"
|
|
mount_path = "/downloads"
|
|
}
|
|
}
|
|
requirements = {
|
|
limits-cpu = "900m"
|
|
limits-memory = "600Mi"
|
|
requests-cpu = "300m"
|
|
requests-memory = "400Mi"
|
|
}
|
|
|
|
}
|
|
jobspy = {
|
|
enabled = false
|
|
connected_namespace = "stash"
|
|
image = "rainmanjam/jobspy-api:latest"
|
|
service_port = [8000]
|
|
environment = {
|
|
ENABLE_API_KEY_AUTH = {
|
|
value = "true"
|
|
}
|
|
API_KEYS = {
|
|
value = "true"
|
|
}
|
|
}
|
|
requirements = {
|
|
limits-cpu = "900m"
|
|
limits-memory = "600Mi"
|
|
requests-cpu = "300m"
|
|
requests-memory = "400Mi"
|
|
}
|
|
|
|
}
|
|
|
|
|
|
prowlarr = {
|
|
# enabled = false
|
|
image = "linuxserver/prowlarr:latest"
|
|
namespace = "servarr"
|
|
#replicas = 0
|
|
# dns_nameservers = "10.2.0.1"
|
|
service_port = [9696]
|
|
extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/servarr/servarr-db.secret.yaml"]
|
|
database = {
|
|
"image" = "docker.io/library/postgres:17.5"
|
|
}
|
|
|
|
environment = {
|
|
PUID = {
|
|
value = "1000"
|
|
}
|
|
PGID = {
|
|
value = "1000"
|
|
}
|
|
TZ = {
|
|
value = "Etc/UTC"
|
|
}
|
|
|
|
|
|
|
|
POSTGRES_DB = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "servarr-db-credentials"
|
|
key = "DB_DATABASE"
|
|
}
|
|
}
|
|
}
|
|
POSTGRES_USER = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "servarr-db-credentials"
|
|
key = "DB_USER"
|
|
}
|
|
}
|
|
}
|
|
POSTGRES_PASSWORD = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "servarr-db-credentials"
|
|
key = "DB_PASS"
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
pvc = {
|
|
prowlarr-config = {
|
|
name = "prowlarr-config"
|
|
pvc_size = "10Mi"
|
|
pvc = true
|
|
mount_path = "/config"
|
|
}
|
|
servarr-data = {
|
|
name = "servarr-data"
|
|
pvc_size = "10Mi"
|
|
pvc = false
|
|
host_path = "/data"
|
|
mount_path = "/disk"
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
radarr = {
|
|
#enabled = false
|
|
image = "lscr.io/linuxserver/radarr:latest"
|
|
connected_namespace = "servarr"
|
|
#replicas = 0
|
|
service_port = [7878]
|
|
|
|
environment = {
|
|
PUID = {
|
|
value = "1000"
|
|
}
|
|
PGID = {
|
|
value = "1000"
|
|
}
|
|
TZ = {
|
|
value = "Etc/UTC"
|
|
}
|
|
}
|
|
# requirements = {
|
|
# limits-cpu = "1000m"
|
|
# limits-memory = "1Gi"
|
|
# requests-cpu = "500m"
|
|
# requests-memory = "400Mi"
|
|
# }
|
|
pvc = {
|
|
radarr-config = {
|
|
name = "radarr-config"
|
|
pvc_size = "10Mi"
|
|
pvc = true
|
|
mount_path = "/config"
|
|
}
|
|
servarr-data = {
|
|
name = "servarr-data"
|
|
pvc_size = "10Mi"
|
|
pvc = false
|
|
host_path = "/data"
|
|
mount_path = "/disk"
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
sonarr = {
|
|
#enabled = false
|
|
image = "lscr.io/linuxserver/sonarr:latest"
|
|
connected_namespace = "servarr"
|
|
#replicas = 0
|
|
service_port = [8989]
|
|
|
|
environment = {
|
|
PUID = {
|
|
value = "1000"
|
|
}
|
|
PGID = {
|
|
value = "1000"
|
|
}
|
|
TZ = {
|
|
value = "Etc/UTC"
|
|
}
|
|
}
|
|
# requirements = {
|
|
# limits-cpu = "1000m"
|
|
# limits-memory = "1Gi"
|
|
# requests-cpu = "500m"
|
|
# requests-memory = "400Mi"
|
|
# }
|
|
pvc = {
|
|
sonarr-config = {
|
|
name = "sonarr-config"
|
|
pvc_size = "10Mi"
|
|
pvc = true
|
|
mount_path = "/config"
|
|
}
|
|
servarr-data = {
|
|
name = "servarr-data"
|
|
pvc_size = "10Mi"
|
|
pvc = false
|
|
host_path = "/data"
|
|
mount_path = "/disk"
|
|
}
|
|
}
|
|
|
|
}
|
|
recommendarr = {
|
|
enabled = false
|
|
image = "tannermiddleton/recommendarr:latest"
|
|
connected_namespace = "servarr"
|
|
#replicas = 0
|
|
service_port = [3000]
|
|
|
|
environment = {
|
|
PUID = {
|
|
value = "1000"
|
|
}
|
|
PGID = {
|
|
value = "1000"
|
|
}
|
|
TZ = {
|
|
value = "Etc/UTC"
|
|
}
|
|
}
|
|
# requirements = {
|
|
# limits-cpu = "1000m"
|
|
# limits-memory = "1Gi"
|
|
# requests-cpu = "500m"
|
|
# requests-memory = "400Mi"
|
|
# }
|
|
pvc = {
|
|
recommendarr-config = {
|
|
name = "recommendarr-config"
|
|
pvc_size = "10Mi"
|
|
pvc = true
|
|
mount_path = "/app/server/data"
|
|
}
|
|
}
|
|
|
|
}
|
|
qbittorrent = {
|
|
#enabled = false
|
|
image = "lscr.io/linuxserver/qbittorrent:latest"
|
|
connected_namespace = "servarr"
|
|
service_port = [8080]
|
|
|
|
environment = {
|
|
PUID = {
|
|
value = "1000"
|
|
}
|
|
PGID = {
|
|
value = "1000"
|
|
}
|
|
TZ = {
|
|
value = "Etc/UTC"
|
|
}
|
|
WEBUI_PORT = {
|
|
value = "8080"
|
|
}
|
|
|
|
}
|
|
requirements = {
|
|
limits-cpu = "200m"
|
|
limits-memory = "250Mi"
|
|
requests-cpu = "100m"
|
|
requests-memory = "100Mi"
|
|
}
|
|
pvc = {
|
|
qbittorrent-config = {
|
|
name = "qbittorrent-config"
|
|
pvc_size = "10Mi"
|
|
pvc = true
|
|
mount_path = "/config"
|
|
}
|
|
servarr-data = {
|
|
name = "servarr-data"
|
|
pvc_size = "10Mi"
|
|
pvc = false
|
|
host_path = "/data"
|
|
mount_path = "/disk"
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
flaresolverr = {
|
|
#image = "ghcr.io/flaresolverr/flaresolverr:latest"
|
|
image = "alexfozor/flaresolverr:pr-1300-experimental"
|
|
|
|
connected_namespace = "servarr"
|
|
#enabled = false
|
|
image = "ghcr.io/flaresolverr/flaresolverr:latest"
|
|
service_port = [8191]
|
|
|
|
environment = {
|
|
PUID = {
|
|
value = "1000"
|
|
}
|
|
PGID = {
|
|
value = "1000"
|
|
}
|
|
TZ = {
|
|
value = "Etc/UTC"
|
|
}
|
|
CAPTCHA_SOLVER = { value = "hcaptcha-solver"
|
|
}
|
|
|
|
}
|
|
# requirements = {
|
|
# limits-cpu = "1000m"
|
|
# limits-memory = "1Gi"
|
|
# requests-cpu = "500m"
|
|
# requests-memory = "400Mi"
|
|
# }
|
|
|
|
}
|
|
|
|
poste = {
|
|
enabled = false
|
|
image = "analogic/poste.io:latest"
|
|
service_port = [25, 80, 110, 143, 443, 465, 587, 993, 995, 4190]
|
|
|
|
environment = {
|
|
PUID = {
|
|
value = "1000"
|
|
}
|
|
PGID = {
|
|
value = "1000"
|
|
}
|
|
TZ = {
|
|
value = "Etc/UTC"
|
|
}
|
|
}
|
|
# requirements = {
|
|
# limits-cpu = "1000m"
|
|
# limits-memory = "1Gi"
|
|
# requests-cpu = "500m"
|
|
# requests-memory = "400Mi"
|
|
# }
|
|
|
|
pvc = {
|
|
poste-data = {
|
|
name = "poste-data"
|
|
pvc_size = "10Mi"
|
|
pvc = true
|
|
mount_path = "/data"
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
wikijs = {
|
|
#enabled = false
|
|
image = "ghcr.io/requarks/wiki:2.5"
|
|
service_port = [3000]
|
|
extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/wikijs/wikijs-db.secret.yaml"]
|
|
database = {}
|
|
environment = {
|
|
PUID = {
|
|
value = "1000"
|
|
}
|
|
PGID = {
|
|
value = "1000"
|
|
}
|
|
TZ = {
|
|
value = "Etc/UTC"
|
|
}
|
|
DB_TYPE = { value = "postgres" }
|
|
DB_PORT = { value = "5432" }
|
|
|
|
POSTGRES_DB = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "wikijs-db-credentials"
|
|
key = "DB_DATABASE"
|
|
}
|
|
}
|
|
}
|
|
POSTGRES_USER = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "wikijs-db-credentials"
|
|
key = "DB_USER"
|
|
}
|
|
}
|
|
}
|
|
POSTGRES_PASSWORD = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "wikijs-db-credentials"
|
|
key = "DB_PASS"
|
|
}
|
|
}
|
|
}
|
|
|
|
DB_NAME = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "wikijs-db-credentials"
|
|
key = "DB_DATABASE"
|
|
}
|
|
}
|
|
}
|
|
DB_USER = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "wikijs-db-credentials"
|
|
key = "DB_USER"
|
|
}
|
|
}
|
|
}
|
|
DB_PASS = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "wikijs-db-credentials"
|
|
key = "DB_PASS"
|
|
}
|
|
}
|
|
}
|
|
DB_HOST = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "wikijs-db-credentials"
|
|
key = "DB_HOST"
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
immicht = {
|
|
enabled = false
|
|
#replicas = 0
|
|
namespace = "immicht"
|
|
image = "ghcr.io/immich-app/immich-server:v1.134.0"
|
|
service_port = [2283]
|
|
database = {
|
|
#image = "ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0@sha256:fa4f6e0971f454cd95fec5a9aaed2ed93d8f46725cc6bc61e0698e97dba96da1"
|
|
image = "docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0"
|
|
}
|
|
|
|
redis = {
|
|
image = "docker.io/bitnami/redis:7.2.5-debian-12-r0" }
|
|
requirements = {
|
|
limits-cpu = "800m"
|
|
limits-memory = "800Mi"
|
|
requests-cpu = "10m"
|
|
requests-memory = "300Mi"
|
|
}
|
|
extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/immich/immich-db.secret.yaml"]
|
|
|
|
environment = {
|
|
DB_DATABASE_NAME = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "immich-db-credentials"
|
|
key = "DB_DATABASE_NAME"
|
|
}
|
|
}
|
|
}
|
|
DB_USERNAME = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "immich-db-credentials"
|
|
key = "DB_USERNAME"
|
|
}
|
|
}
|
|
}
|
|
DB_PASSWORD = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "immich-db-credentials"
|
|
key = "DB_PASSWORD"
|
|
}
|
|
}
|
|
}
|
|
POSTGRES_DATABASE = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "immich-db-credentials"
|
|
key = "DB_DATABASE_NAME"
|
|
}
|
|
}
|
|
}
|
|
POSTGRES_USER = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "immich-db-credentials"
|
|
key = "DB_USERNAME"
|
|
}
|
|
}
|
|
}
|
|
POSTGRES_PASSWORD = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "immich-db-credentials"
|
|
key = "DB_PASSWORD"
|
|
}
|
|
}
|
|
}
|
|
|
|
POSTGRES_POSTGRES_PASSWORD = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "immich-db-credentials"
|
|
key = "DB_PASSWORD"
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
DB_HOSTNAME = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "immich-db-credentials"
|
|
key = "DB_HOST"
|
|
}
|
|
}
|
|
}
|
|
|
|
IMMICH_MACHINE_LEARNING_URL = { value = "http://machinelearning-svc:3003" }
|
|
REDIS_HOSTNAME = { value = "immicht-redis-svc" }
|
|
UPLOAD_LOCATION = { value = "/tmp" }
|
|
POSTGRESQL_ENABLE_LDAP = { value = "no" }
|
|
POSTGRESQL_ENABLE_TLS = { value = "no" }
|
|
POSTGRESQL_LOG_HOSTNAME = { value = "false" }
|
|
POSTGRESQL_LOG_CONNECTIONS = { value = "false" }
|
|
POSTGRESQL_LOG_DISCONNECTIONS = { value = "false" }
|
|
POSTGRESQL_PGAUDIT_LOG_CATALOG = { value = "off" }
|
|
POSTGRESQL_CLIENT_MIN_MESSAGES = { value = "error" }
|
|
POSTGRESQL_SHARED_PRELOAD_LIBRARIES = { value = "pgaudit" }
|
|
POSTGRES_INITDB_ARGS = { value = "--data-checksums" }
|
|
|
|
BITNAMI_DEBUG = { value = "false" }
|
|
REDIS_REPLICATION_MODE = { value = "master" }
|
|
ALLOW_EMPTY_PASSWORD = { value = "yes" }
|
|
REDIS_TLS_ENABLED = { value = "no" }
|
|
REDIS_PORT = { value = "6379" }
|
|
|
|
}
|
|
pvc = {
|
|
immich-data = {
|
|
pvc = true
|
|
name = "immich-data"
|
|
pvc_size = "2Mi"
|
|
mount_path = "/usr/src/app/upload"
|
|
}
|
|
|
|
}
|
|
}
|
|
machinelearning = {
|
|
enabled = false
|
|
#replicas = 0
|
|
connected_namespace = "immicht"
|
|
image = "ghcr.io/immich-app/immich-machine-learning:v1.134.0"
|
|
service_port = [3003]
|
|
environment = {
|
|
DB_DATABASE_NAME = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "immich-db-credentials"
|
|
key = "DB_DATABASE_NAME"
|
|
}
|
|
}
|
|
}
|
|
DB_USERNAME = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "immich-db-credentials"
|
|
key = "DB_USERNAME"
|
|
}
|
|
}
|
|
}
|
|
DB_PASSWORD = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "immich-db-credentials"
|
|
key = "DB_PASSWORD"
|
|
}
|
|
}
|
|
}
|
|
DB_HOSTNAME = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "immich-db-credentials"
|
|
key = "DB_HOST"
|
|
}
|
|
}
|
|
}
|
|
|
|
IMMICH_MACHINE_LEARNING_URL = {
|
|
value = "http://machinelearning-svc:3003"
|
|
}
|
|
|
|
REDIS_HOSTNAME = {
|
|
value = "immicht-redis-svc"
|
|
}
|
|
|
|
TRANSFORMERS_CACHE = {
|
|
value = "/cache"
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
django = {
|
|
#enabled =false
|
|
namespace = "django"
|
|
image = "gitea.tryton.geeraert.eu/pi-ux-ce/django-python:latest"
|
|
service_port = [8000]
|
|
database = {
|
|
image = "docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0"
|
|
}
|
|
|
|
requirements = {
|
|
limits-cpu = "800m"
|
|
limits-memory = "800Mi"
|
|
requests-cpu = "10m"
|
|
requests-memory = "300Mi"
|
|
}
|
|
extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/django/kubeconfig.secret.yaml", "/opt/kubernetes/Terraform_kube/external_manifests/django/django-db.secret.yaml"]
|
|
|
|
environment = {
|
|
|
|
DB_PASSWORD = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "django-db-credentials"
|
|
key = "DB_PASSWORD"
|
|
}
|
|
}
|
|
}
|
|
POSTGRES_DB = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "django-db-credentials"
|
|
key = "DB_DATABASE_NAME"
|
|
}
|
|
}
|
|
}
|
|
POSTGRES_USER = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "django-db-credentials"
|
|
key = "DB_USERNAME"
|
|
}
|
|
}
|
|
}
|
|
POSTGRES_PASSWORD = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "django-db-credentials"
|
|
key = "DB_PASSWORD"
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
DB_HOSTNAME = {
|
|
value_from = {
|
|
secret_key_ref = {
|
|
name = "django-db-credentials"
|
|
key = "DB_HOST"
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
pvc = {
|
|
kubeconfig-secret = {
|
|
secret = true
|
|
name = "kubeconfig"
|
|
mount_path = "/kubeconfig"
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
keycloak = {
|
|
#enabled = false
|
|
name = "keycloak"
|
|
image = "quay.io/keycloak/keycloak:25.0.1"
|
|
service_port = [8080]
|
|
command = ["/opt/keycloak/bin/kc.sh", "start-dev"]
|
|
environment = {
|
|
KEYCLOAK_ADMIN = {
|
|
value = "admin"
|
|
}
|
|
KEYCLOAK_ADMIN_PASSWORD = {
|
|
value = "admin"
|
|
}
|
|
#KC_DB = {
|
|
# value = "dev-mem"
|
|
#}
|
|
KC_HTTP_ENABLED = {
|
|
value = "true"
|
|
}
|
|
KC_PROXY_HEADERS = {
|
|
value = "xforwarded"
|
|
}
|
|
KC_HOSTNAME_STRICT = {
|
|
value = "false"
|
|
}
|
|
|
|
KC_HOSTNAME = {
|
|
value = "https://keycloak.tryton.geeraert.eu"
|
|
}
|
|
KC_HOSTNAME_ADMIN = {
|
|
value = "https://keycloak.tryton.geeraert.eu"
|
|
}
|
|
}
|
|
requirements = {
|
|
limits-cpu = "1000m"
|
|
limits-memory = "1Gi"
|
|
requests-cpu = "500m"
|
|
requests-memory = "400Mi"
|
|
}
|
|
|
|
}
|
|
|
|
your-app:
|
|
image: hashicorp/http-echo
|
|
command: ["-text=Hello, authenticated world!"]
|
|
ports:
|
|
- "3000"
|
|
|
|
}
|