add immich frame [ci skip]
This commit is contained in:
parent
39570f52e0
commit
7832b893d2
5 changed files with 118 additions and 0 deletions
2
main.tf
2
main.tf
|
|
@ -61,6 +61,7 @@ variable "finance_app_gocardless_secret_id" {}
|
||||||
variable "headscale_config" {}
|
variable "headscale_config" {}
|
||||||
variable "headscale_acl" {}
|
variable "headscale_acl" {}
|
||||||
variable "immich_postgresql_password" {}
|
variable "immich_postgresql_password" {}
|
||||||
|
variable "immich_frame_api_key" {}
|
||||||
variable "ingress_honeypotapikey" {}
|
variable "ingress_honeypotapikey" {}
|
||||||
variable "ingress_crowdsec_api_key" {}
|
variable "ingress_crowdsec_api_key" {}
|
||||||
variable "ingress_crowdsec_captcha_secret_key" {}
|
variable "ingress_crowdsec_captcha_secret_key" {}
|
||||||
|
|
@ -376,6 +377,7 @@ module "kubernetes_cluster" {
|
||||||
headscale_acl = var.headscale_acl
|
headscale_acl = var.headscale_acl
|
||||||
|
|
||||||
immich_postgresql_password = var.immich_postgresql_password
|
immich_postgresql_password = var.immich_postgresql_password
|
||||||
|
immich_frame_api_key = var.immich_frame_api_key
|
||||||
|
|
||||||
ingress_honeypotapikey = var.ingress_honeypotapikey
|
ingress_honeypotapikey = var.ingress_honeypotapikey
|
||||||
ingress_crowdsec_api_key = var.ingress_crowdsec_api_key
|
ingress_crowdsec_api_key = var.ingress_crowdsec_api_key
|
||||||
|
|
|
||||||
114
modules/kubernetes/immich/frame.tf
Normal file
114
modules/kubernetes/immich/frame.tf
Normal file
|
|
@ -0,0 +1,114 @@
|
||||||
|
variable "frame_api_key" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "kubernetes_config_map" "mailserver_config" {
|
||||||
|
metadata {
|
||||||
|
name = "config"
|
||||||
|
namespace = "immich"
|
||||||
|
|
||||||
|
labels = {
|
||||||
|
app = "frame-config"
|
||||||
|
}
|
||||||
|
annotations = {
|
||||||
|
"reloader.stakater.com/match" = "true"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
data = {
|
||||||
|
# Actual mail settings
|
||||||
|
"Settings.yml" = <<-EOF
|
||||||
|
General:
|
||||||
|
Layout: single
|
||||||
|
Interval: 10
|
||||||
|
ImageZoom: false
|
||||||
|
ShowAlbumName: false
|
||||||
|
Accounts:
|
||||||
|
- ImmichServerUrl: http://immich.viktorbarzin.me
|
||||||
|
ApiKey: ${var.frame_api_key}
|
||||||
|
Albums:
|
||||||
|
- 1aa98849-bbd5-452b-aac0-310b210a8597 # china
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
resource "kubernetes_deployment" "immich-frame" {
|
||||||
|
metadata {
|
||||||
|
name = "immich-frame"
|
||||||
|
namespace = "immich"
|
||||||
|
annotations = {
|
||||||
|
"reloader.stakater.com/search" = "true"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
spec {
|
||||||
|
replicas = 1
|
||||||
|
selector {
|
||||||
|
match_labels = {
|
||||||
|
app = "immich-frame"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
strategy {
|
||||||
|
type = "Recreate"
|
||||||
|
}
|
||||||
|
template {
|
||||||
|
metadata {
|
||||||
|
labels = {
|
||||||
|
app = "immich-frame"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
spec {
|
||||||
|
container {
|
||||||
|
image = "ghcr.io/immichframe/immichframe:latest"
|
||||||
|
name = "immich-frame"
|
||||||
|
port {
|
||||||
|
container_port = 8080
|
||||||
|
protocol = "TCP"
|
||||||
|
name = "http"
|
||||||
|
}
|
||||||
|
volume_mount {
|
||||||
|
name = "config"
|
||||||
|
mount_path = "/app/Config"
|
||||||
|
read_only = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
volume {
|
||||||
|
name = "config"
|
||||||
|
config_map {
|
||||||
|
name = "config"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
resource "kubernetes_service" "immich-frame" {
|
||||||
|
metadata {
|
||||||
|
name = "immich-frame"
|
||||||
|
namespace = "immich"
|
||||||
|
labels = {
|
||||||
|
"app" = "immich-frame"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
spec {
|
||||||
|
selector = {
|
||||||
|
app = "immich-frame"
|
||||||
|
}
|
||||||
|
port {
|
||||||
|
port = 80
|
||||||
|
target_port = 8080
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module "ingress" {
|
||||||
|
source = "../ingress_factory"
|
||||||
|
namespace = "immich"
|
||||||
|
name = "highlights-immich"
|
||||||
|
tls_secret_name = var.tls_secret_name
|
||||||
|
service_name = "immich-frame"
|
||||||
|
}
|
||||||
|
|
@ -48,6 +48,7 @@ variable "finance_app_gocardless_secret_id" {}
|
||||||
variable "headscale_config" {}
|
variable "headscale_config" {}
|
||||||
variable "headscale_acl" {}
|
variable "headscale_acl" {}
|
||||||
variable "immich_postgresql_password" {}
|
variable "immich_postgresql_password" {}
|
||||||
|
variable "immich_frame_api_key" {}
|
||||||
variable "ingress_honeypotapikey" {}
|
variable "ingress_honeypotapikey" {}
|
||||||
variable "ingress_crowdsec_api_key" {}
|
variable "ingress_crowdsec_api_key" {}
|
||||||
variable "ingress_crowdsec_captcha_secret_key" {}
|
variable "ingress_crowdsec_captcha_secret_key" {}
|
||||||
|
|
@ -414,6 +415,7 @@ module "immich" {
|
||||||
source = "./immich"
|
source = "./immich"
|
||||||
tls_secret_name = var.tls_secret_name
|
tls_secret_name = var.tls_secret_name
|
||||||
postgresql_password = var.immich_postgresql_password
|
postgresql_password = var.immich_postgresql_password
|
||||||
|
frame_api_key = var.immich_frame_api_key
|
||||||
homepage_token = var.homepage_credentials["immich"]["token"]
|
homepage_token = var.homepage_credentials["immich"]["token"]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
BIN
terraform.tfvars
BIN
terraform.tfvars
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue