Files
Terraform_kube/applications/variables.auto.tfvars

2107 lines
47 KiB
HCL

kubernetes = {
bookstack = {
#enabled = false
replicas = 01
image = "linuxserver/bookstack:latest"
service_port = [80, 443]
database = {
"engine" = "mysql"
"image" = "lscr.io/linuxserver/mariadb"
"port" = 3306
"mountPath" = "/config"
username = "bookstack_username"
name = "bookstackapp"
}
config_map_ref = ["config"]
secret_ref = ["bookstack-credentials"]
config_map_import = ["bb9a8965-994a-4fea-9411-b4020182fa78"]
secret_import = ["d1c2b8c9-71a0-4e47-9d9d-b402018376b6"]
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"
}
}
}
minecraft = {
enabled = false
image = "itzg/minecraft-server"
service_port = [25565]
service_type = "LoadBalancer"
environment = {
EULA = {
value = "TRUE"
}
ONLINE_MODE = {
value = "FALSE"
}
VERSION = {
value = "1.21.8"
}
}
#requirements = {
# limits-cpu = "1000m"
# limits-memory = "1Gi"
# requests-cpu = "500m"
# requests-memory = "400Mi"
#}
pvc = {
minecraft-volume = {
name = "minecraft"
pvc_size = "1Gi"
pvc = true
mount_path = "/data"
}
}
}
stirling = {
enabled = false
name = "stirling-pdf"
image = "stirlingtools/stirling-pdf:2.0.0"
service_port = [8080]
environment = {
LANGS = {
value = "en_GB"
}
SECURITY_ENABLELOGIN = {
value = "false"
}
}
# 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"
image = "stashapp/stash:v0.30.1"
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"
}
}
}
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"
}
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]
}
paperless = {
#enabled = false
#namespace = "paper"
#replicas = 0
image = "ghcr.io/paperless-ngx/paperless-ngx:2.18.4"
service_port = [8000]
domain_name = ["paperless2"]
database = {
image = "postgres:15.6"
mountPath = "/var/lib/postgresql/data"
}
redis = {
image = "redis:7.4.1" }
#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://paperless.geeraert.eu"
}
PAPERLESS_TIKA_ENABLED = {
value = "1"
}
PAPERLESS_TIKA_GOTENBERG_ENDPOINT = {
value = "http://gotenberg-svc.paperless.svc:3000"
}
PAPERLESS_TIKA_ENDPOINT = {
value = "http://tika-svc.paperless.svc:9998"
}
PAPERLESS_DBHOST = {
value_from = {
secret_key_ref = {
name = "paperless-credentials"
key = "POSTGRES_HOST"
}
}
}
PAPERLESS_REDIS = {
value = "redis://paperless-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"
}
paperless-media = {
pvc = true
name = "paperless-media"
pvc_size = "2Mi"
mount_path = "/usr/src/paperless/media"
}
# 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"
command = ["gotenberg", "--chromium-disable-javascript=true", "--chromium-allow-list=file:///tmp/.*", "--chromium-auto-start"]
connected_namespace = "paperless"
image = "gotenberg/gotenberg:8"
#image = "gotenberg/gotenberg:7.4.3"
service_port = [3000]
environment = {
CHROMIUM_PAPER_WIDTH = {
value = "595"
}
CHROMIUM_PAPER_HEIGHT = {
value = "842"
}
CHROMIUM_MARGIN_TOP = {
value = "7.2"
}
CHROMIUM_MARGIN_BOTTOM = {
value = "7.2"
}
CHROMIUM_MARGIN_LEFT = {
value = "7.2"
}
CHROMIUM_MARGIN_RIGHT = {
value = "7.2"
}
GOTENBERG_CHROMIUM_STARTUP_TIMEOUT = {
value = "60s"
}
GOTENBERG_BUILD_DEBUG_DATA = {
value = "false"
}
GOTENBERG_CHROMIUM_ARGS = {
value = "--no-sandbox,--disable-dev-shm-usage,--no-zygote"
}
}
pvc = {
devshm = {
host_path = "/tmp"
name = "devshm"
pvc_size = "2Mi"
mount_path = "/dev/shm"
}
}
requirements = {
limits-cpu = "1"
limits-memory = "1000Mi"
requests-cpu = "500m"
requests-memory = "512Mi"
}
}
tika = {
#enabled = false
name = "tika"
connected_namespace = "paperless"
image = "docker.io/apache/tika:latest"
service_port = [9998]
requirements = {
limits-cpu = "1"
limits-memory = "1000Mi"
requests-cpu = "500m"
requests-memory = "512Mi"
}
}
emailproxy = {
enabled = false
name = "email-oauth2-proxy"
connected_namespace = "paper"
dns_nameservers = "1.1.1.1"
image = "blacktirion/email-oauth2-proxy-docker"
#command = ["python", "emailproxy.py", "--no-gui", "--external-auth", "--debug", "--cache-store", "/config/credstore.config", "--config-file", "/config/emailproxy.config", "--log-file", "/config/emailproxy.log"]
#extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/paperless/emailproxyconfig.configmap.yml"]
service_port = [80, 1993, 1995]
requirements = {
limits-cpu = "1"
limits-memory = "1000Mi"
requests-cpu = "500m"
requests-memory = "512Mi"
}
environment = {
LOGFILE = {
value = true
}
DEBUG = {
value = true
}
CACHE_STORE = {
value = "/config/credstore.config"
}
LOCAL_SERVER_AUTH = { value = true }
}
pvc = {
emailproxy-config = {
#config_map = true
pvc = true
name = "emailproxyconfig"
pvc_size = "2Mi"
#mount_path = "/config/emailproxy.config"
mount_path = "/config/"
}
}
}
nextcloud = {
enabled = false
namespace = "next"
#replicas = 0
image = "nextcloud:29.0.3-apache"
domain_name = ["next"]
service_port = [80]
#extra_manifest = ["/opt/kubernetes/Nextcloud_kube/next.secret.yaml"]
secret_ref = ["nextcloud-credentials"]
secret_import = ["b207c4b6-0489-4ab2-a032-b4a400a708e0"]
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 = {
TRUSTED_PROXIES = {
value = "192.168.88.50 192.168.88.52"
}
OVERWRITECLIURL = {
value = "https://next.geeraert.eu"
}
OVERWRITEPROTOCOL = {
value = "https"
}
NEXTCLOUD_TRUSTED_DOMAINS = {
value = "next.geeraert.eu next.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.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"
name = "prowlarr-main"
username = "servarr_username"
mountPath = "/var/lib/postgresql/data"
}
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 = {
image = "postgres:17"
name = "wiki"
username = "wikijs_username"
mountPath = "/var/lib/postgresql/data"
}
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"
}
}
}
}
}
immich = {
#enabled = false
#replicas = 0
connected_namespace = "immich"
image = "ghcr.io/immich-app/immich-server:v3.0.0"
service_port = [2283]
database = {
image = "ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0"
mountPath = "/var/lib/postgresql/data"
}
redis = {
image = "docker.io/valkey/valkey:9@sha256:4963247afc4cd33c7d3b2d2816b9f7f8eeebab148d29056c2ca4d7cbc966f2d9" }
requirements = {
limits-cpu = "800m"
limits-memory = "2Gi"
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 = "immich-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 = {
name = "immich-data"
pvc_size = "10Mi"
pvc = false
host_path = "/ssd/Image/immich/immich-storage-fastaccess"
mount_path = "/usr/src/app/upload"
}
stash-data = {
name = "stash-data"
pvc_size = "10Mi"
pvc = false
host_path = "/ssd/stash/data-pvc"
mount_path = "/stash/"
}
}
}
machinelearning = {
#enabled = false
#replicas = 0
connected_namespace = "immich"
image = "ghcr.io/immich-app/immich-machine-learning:v2.5.6"
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 = "immich-redis-svc"
}
TRANSFORMERS_CACHE = {
value = "/cache"
}
}
}
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"
}
}
echo = {
enabled = false
image = "ealen/echo-server:latest"
service_port = [80]
# command = ["-text=Hello authenticated world!"]
pvc = {
echo-config = {
name = "echo-config"
pvc_size = "10Mi"
pvc = true
mount_path = "/app/configs"
}
}
}
echo2 = {
enabled = false
connected_namespace = "echo"
image = "ealen/echo-server:latest"
service_port = [80]
# command = ["-text=Hello authenticated world!"]
pvc = {
echo-config = {
name = "echo-config"
pvc_size = "10Mi"
pvc = true
mount_path = "/app/configs"
existing_pvc = true
}
}
}
oauth2-proxy = {
enabled = false
image = "quay.io/oauth2-proxy/oauth2-proxy:latest"
service_port = [4180]
environment = {
OAUTH2_PROXY_PROVIDER = {
value = "oidc"
}
OAUTH2_PROXY_CLIENT_ID = {
value = "my-client"
}
OAUTH2_PROXY_CLIENT_SECRET = {
value = "el7RU2DKXhjxhF1wasyz1KhTppvw2lF4"
}
OAUTH2_PROXY_COOKIE_SECRET = {
value = "K70xBsslOnUFh9ehCggywlfb0c8OTzRRiOzdIuDz168="
}
OAUTH2_PROXY_COOKIE_DOMAIN = {
value = "oauthn.tryton.geeraert.eu"
#value = "*.tryton.geeraert.eu"
}
OAUTH2_PROXY_OIDC_ISSUER_URL = {
value = "https://keycloak.tryton.geeraert.eu/realms/customer"
}
OAUTH2_PROXY_REDIRECT_URL = {
value = "https://echo.tryton.geeraert.eu/oauth2/callback"
}
OAUTH2_PROXY_EMAIL_DOMAINS = {
value = "*"
}
OAUTH2_PROXY_HTTP_ADDRESS = {
value = "0.0.0.0:4180"
}
}
}
tdarr = {
enabled = false
image = "ghcr.io/haveagitgat/tdarr"
connected_namespace = "servarr"
service_port = [8265, 8266]
pvc = {
tdarr-config = {
name = "tdarr-config"
pvc_size = "10Mi"
pvc = true
mount_path = "/app/configs"
}
tdarr-server = {
name = "tdarr-server"
pvc_size = "10Mi"
pvc = true
mount_path = "/app/server"
}
tdarr-log = {
name = "tdarr-log"
pvc_size = "10Mi"
pvc = true
mount_path = "/app/logs"
}
servarr-data = {
name = "servarr-data"
pvc_size = "10Mi"
pvc = false
host_path = "/data"
mount_path = "/media"
}
stash-data = {
name = "stash-data"
pvc_size = "10Mi"
pvc = false
host_path = "/ssd/stash/data-pvc/"
mount_path = "/stash"
}
tdarr-dri = {
name = "tdarr-dri"
pvc_size = "10Mi"
pvc = false
host_path = "/dev/dri"
mount_path = "/dev/dri"
}
tdarr-transcode-cache = {
name = "tdarr-transcode-cache"
pvc_size = "10Mi"
pvc = true
mount_path = "/transcode-cache"
}
}
environment = {
serverIP = {
value = "0.0.0.0"
}
serverPort = {
value = "8266"
}
webUIPort = {
value = "8265"
}
internalNode = {
value = "true"
}
inContainer = {
value = "true"
}
ffmpegVersion = {
value = "7"
}
nodeName = {
value = "MyInternalNode"
}
auth = {
value = "false"
}
openBrowser = {
value = "true"
}
maxLogSizeMB = {
value = "10"
}
cronPluginUpdate = {
value = ""
}
TZ = {
value = "Europe/London"
}
PUID = {
value = "1000"
}
PGID = {
value = "1000"
}
NVIDIA_DRIVER_CAPABILITIES = {
value = "all"
}
NVIDIA_VISIBLE_DEVICES = {
value = "all"
}
}
}
tdarr-node = {
enabled = false
image = "ghcr.io/haveagitgat/tdarr_node"
connected_namespace = "servarr"
replicas = 2
service_port = [8268]
pvc = {
tdarrnode-config = {
name = "tdarrnode-config"
pvc_size = "10Mi"
pvc = false
host_path = "/data/kubernetes/servarr/tdarr-config-pvc"
mount_path = "/app/configs"
}
tdarrnode-log = {
name = "tdarrnode-log"
pvc_size = "10Mi"
pvc = true
mount_path = "/app/logs"
}
servarr-data = {
name = "servarr-data"
pvc_size = "10Mi"
pvc = false
host_path = "/data"
mount_path = "/media"
}
tdarrnode-dri = {
name = "tdarrnode-dri"
pvc_size = "10Mi"
pvc = false
host_path = "/dev/dri"
mount_path = "/dev/dri"
}
tdarrnode-transcode-cache = {
name = "tdarrnode-transcode-cache"
pvc_size = "10Mi"
pvc = false
host_path = "/data/kubernetes/servarr/tdarr-transcode-cache-pvc"
mount_path = "/transcode-cache"
}
}
environment = {
serverIP = {
value = "tdarr-svc"
}
serverPort = {
value = "8266"
}
nodeType = {
value = "mapped"
}
priority = {
value = "-1"
}
inContainer = {
value = "true"
}
ffmpegVersion = {
value = "7"
}
# nodeName = {
# value = "MyExternalNode"
# }
maxLogSizeMB = {
value = "10"
}
cronPluginUpdate = {
value = ""
}
TZ = {
value = "Europe/London"
}
apikey = {
value = ""
}
pollInterval = {
value = "2000"
}
PUID = {
value = "1000"
}
PGID = {
value = "1000"
}
NVIDIA_DRIVER_CAPABILITIES = {
value = "all"
}
NVIDIA_VISIBLE_DEVICES = {
value = "all"
}
startPaused = {
value = "false"
}
transcodegpuWorkers = {
value = "0"
}
transcodecpuWorkers = {
value = "2"
}
healthcheckgpuWorkers = {
value = "0"
}
healthcheckcpuWorkers = {
value = "1"
}
}
}
tdarr-node2 = {
enabled = false
image = "ghcr.io/haveagitgat/tdarr_node"
connected_namespace = "servarr"
replicas = 1
service_port = [8268]
pvc = {
tdarrnode2-config = {
name = "tdarrnode2-config"
pvc_size = "10Mi"
pvc = false
host_path = "/data/kubernetes/servarr/tdarr-config-pvc"
mount_path = "/app/configs"
}
tdarrnode2-log = {
name = "tdarrnode2-log"
pvc_size = "10Mi"
pvc = true
mount_path = "/app/logs"
}
nfs-data = {
name = "nfs-data"
pvc_size = "10Mi"
pvc = false
host_path = "/mnt/serie"
mount_path = "/mnt/serie"
}
tdarrnode2-dri = {
name = "tdarrnode2-dri"
pvc_size = "10Mi"
pvc = false
host_path = "/dev/dri"
mount_path = "/dev/dri"
}
tdarrnode2-transcode-cache = {
name = "tdarrnode2-transcode-cache"
pvc_size = "10Mi"
pvc = false
host_path = "/mnt/cache"
mount_path = "/mnt/cache"
}
}
environment = {
serverIP = {
#value = "tdarr-svc"
value = "192.168.88.34"
}
serverPort = {
value = "8266"
}
nodeType = {
value = "mapped"
}
priority = {
value = "-1"
}
inContainer = {
value = "true"
}
ffmpegVersion = {
value = "7"
}
#nodeName = {
# value = "MyExternalNode2"
#}
maxLogSizeMB = {
value = "10"
}
pathTranslators = {
value = "W3sic2VydmVyIjoiWjoiLCJub2RlIjoiL21udC9zZXJpZSJ9LHsic2VydmVyIjogIlk6Iiwibm9kZSI6ICIvbW50L2NhY2hlL3RkYXJyLWNhY2hlIn1dCg=="
}
cronPluginUpdate = {
value = ""
}
TZ = {
value = "Europe/London"
}
apikey = {
value = ""
}
pollInterval = {
value = "2000"
}
PUID = {
value = "1000"
}
PGID = {
value = "1000"
}
NVIDIA_DRIVER_CAPABILITIES = {
value = "all"
}
NVIDIA_VISIBLE_DEVICES = {
value = "all"
}
startPaused = {
value = "false"
}
transcodegpuWorkers = {
value = "0"
}
transcodecpuWorkers = {
value = "2"
}
healthcheckgpuWorkers = {
value = "0"
}
healthcheckcpuWorkers = {
value = "1"
}
}
}
overleaf = {
enabled = false
#image = "sharelatex/sharelatex:6.1.2"
image = "tuetenk0pp/sharelatex-full:latest"
replicas = 1
environment = {
MONGO_URL = {
value = "mongodb://overleaf-db-svc:27017/overleaf"
}
REDIS_URL = {
value = "redis://overleaf-redis-svc:6379"
}
OVERLEAF_MONGO_URL = {
value = "mongodb://overleaf-db-svc:27017/overleaf"
}
OVERLEAF_REDIS_HOST = {
value = "overleaf-redis-svc"
}
REDIS_HOST = {
value = "overleaf-redis-svc"
}
REDIS_PORT = {
value = "6379"
}
TZ = {
value = "Etc/UTC"
}
VERBOSITY = {
value = "-vv" }
}
service_port = [80]
database = {
"image" = "mongo:8.0"
"port" = 27017
"mountPath" = "/data/db"
#initialise the replicaset of the mongo DB
#kubectl exec -it <mongo-pod-name> -- mongosh
#cfg = rs.conf()
#cfg.members[0].host = "mongodb:27017" // ← your K8s Service name + port
#rs.reconfig(cfg, { force: true })
#rs.status()
#// members[0].name should now show "mongodb:27017"
}
database_args = ["--replSet", "overleaf"]
redis = {
image = "redis:7.4" }
pvc = {
overleaf-data = {
pvc = true
pvc_size = "2Mi"
mount_path = "/var/lib/overleaf"
name = "overleaf-data"
}
overleaf-package = {
pvc = true
pvc_size = "2Mi"
mount_path = "/usr/local/texlive/"
name = "overleaf-package"
}
}
}
reactive = {
#disabled because it needs AI to import a pdf and AI integration is not working
enabled = false
replicas = 01
image = "ghcr.io/amruthpillai/reactive-resume:latest"
service_port = [3000]
environment = {
AUTH_SECRET = {
value = "change-me-to-a-secure-secret-key-in-production"
}
PRINTER_ENDPOINT = {
value = "ws://browserless:3000?token=change-me"
}
APP_URL = {
value = "https://reactive.tryton.geeraert.eu"
}
AI_ALLOWED_BASE_URLS = {
value = "api.openai.com,https://gateway.ai.vercel.com"
}
}
database = {}
pvc = {
reactive-resume-data = {
name = "reactive-resume-data"
pvc = true
pvc_size = "2Gi"
mount_path = "/app/data"
}
}
}
opencloud = {
enabled = false
replicas = 01
image = "opencloudeu/opencloud-rolling:latest"
service_port = [9200]
environment = {
#IDM_CREATE_DEMO_USERS = {
# value = "false"
#}
OC_INSECURE = {
value = "true"
}
OC_DOMAIN = {
value = "https://opencloud.tryton.geeraert.eu"
}
OC_URL = {
value = "https://opencloud.tryton.geeraert.eu"
}
INITIAL_ADMIN_PASSWORD = {
value = "admin" }
}
pvc = {
opencloud-config = {
name = "opencloud-config"
pvc = true
pvc_size = "2Gi"
mount_path = "/etc/opencloud/"
}
opencloud-data = {
name = "opencloud-data"
pvc = true
pvc_size = "2Gi"
mount_path = "/var/lib/opencloud"
}
}
}
owncloud = {
enabled = false
replicas = 0
image = "owncloud/server"
service_port = [8080]
database = {
"engine" = "mysql"
"image" = "lscr.io/linuxserver/mariadb"
"port" = 3306
"mountPath" = "/config"
name = "owncloud"
map_username = "OWNCLOUD_DB_USERNAME"
map_name = "OWNCLOUD_DB_NAME"
map_password = "OWNCLOUD_DB_PASSWORD"
map_host = "OWNCLOUD_DB_HOST"
}
redis = {
image = "redis" }
environment = {
OWNCLOUD_DOMAIN = {
value = "owncloud.tryton.geeraert.eu"
}
OWNCLOUD_TRUSTED_DOMAINS = {
value = "owncloud.tryton.geeraert.eu"
}
OWNCLOUD_DB_TYPE = {
value = "mysql"
}
OWNCLOUD_ADMIN_USERNAME = {
value = "admin"
}
OWNCLOUD_ADMIN_PASSWORD = {
value = "admin"
}
OWNCLOUD_MYSQL_UTF8MB4 = {
value = true
}
OWNCLOUD_REDIS_ENABLED = {
value = true
}
OWNCLOUD_REDIS_HOST = {
value = "owncloud-redis-svc"
}
}
pvc = {
owncloud-file = {
name = "owncloud-file"
pvc = true
pvc_size = "2Gi"
mount_path = "/mnt/data"
}
}
}
kopia = {
enabled = false
replicas = 01
image = "kopia/kopia"
service_port = [51515]
command = ["start", "--disable-csrf-token-checks", "--insecure", "--address=0.0.0.0:51515", "--server-username=USERNAME", "--server-password=SECRET_PASSWORD"]
environment = {
KOPIA_PASSWORD = {
value = "123456789"
}
USER = {
value = "user" }
}
pvc = {
kopia-storage = {
name = "kopia-storage"
pvc = true
pvc_size = "2Gi"
mount_path = "/app"
}
}
kopia-data = {
name = "kopia-data"
pvc_size = "100Mi"
pvc = true
mount_path = "/data"
storage_class_name = "nfs-storage-fastaccess"
}
}
degoog = {
enabled = false
replicas = 01
image = "ghcr.io/degoog-org/degoog:latest"
service_port = [4444]
environment = {
DEGOOG_SETTINGS_PASSWORDS = {
value = "Crease1-City-Canned"
}
}
pvc = {
degoog-data = {
name = "degoog-data"
pvc = true
pvc_size = "2Gi"
mount_path = "/app/data"
}
}
}
}