kubernetes = { bookstack = { namespace = "bookstack" enabled = true replicas = 01 extra_manifest = ["/opt/kubernetes/Bookstack_kube/Bookstack.configmap.yaml", "/opt/kubernetes/Bookstack_kube/Bookstack.secret.yaml"] image = "linuxserver/bookstack:24.10.3" service_port = 80 database = { "image" = "lscr.io/linuxserver/mariadb" "port" = 3306 "mountPath" = "/config" } requirements = { limits-cpu = "500m" limits-memory = "200Mi" requests-cpu = "300m" requests-memory = "100Mi" } 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 = "900m" limits-memory = "600Mi" requests-cpu = "300m" requests-memory = "400Mi" } pvc = { 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 = { volume = { name = "stirling-pdf" pvc_size = "100Mi" pvc = true mount_path = "/configs" } } } stash = { 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" } } } onitama = { enabled = true 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 = "800Mi" limits-memory = "800Mi" requests-cpu = "800Mi" requests-memory = "800Mi" } 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 = "1" } PAPERLESS_TIKA_GOTENBERG_ENDPOINT = { value = "http://gotenberg-svc.gotenberg.svc:3000" } PAPERLESS_TIKA_ENDPOINT = { value = "http://tika-svc.tika.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" 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" 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 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" } } }