feat(quadlets): add calibre-web-automated Terraform module

This commit is contained in:
Thomas Rijpstra 2026-07-23 15:48:36 +02:00
parent b9acac33e2
commit 0a4620a7a5
Signed by: thomas
SSH Key Fingerprint: SHA256:NoPljIC4A210B8B3jJovKUIFRtnYxYA4ej6sgkR/yWA
1 changed files with 63 additions and 0 deletions

View File

@ -0,0 +1,63 @@
variable "wait_on" {
type = any
description = "Resources to wait on"
default = true
}
variable "server_ip" {
type = string
}
variable "ssh_private_key_path" {
type = string
}
variable "server_domain" {
type = string
}
module "calibre-web-automated" {
source = "../quadlet-app"
wait_on = var.wait_on
server_ip = var.server_ip
ssh_private_key_path = var.ssh_private_key_path
app_name = "calibre-web-automated"
# Docker Hub 'latest' currently points at GitHub release v4.0.6
image = "docker.io/crocodilestick/calibre-web-automated:latest"
ports = ["8083:8083"]
volumes = [
"/opt/storage/data/calibre-web-automated:/config:Z",
"/opt/storage/media/books:/calibre-library:Z",
"/opt/storage/media/books-ingest:/cwa-book-ingest:Z",
]
environment = {
PUID = "1001"
PGID = "1001"
TZ = "Europe/Amsterdam"
NETWORK_SHARE_MODE = "false"
}
healthcmd = "curl -sf http://127.0.0.1:8083/ > /dev/null || exit 1"
haproxy_services = [
{
name = "calibre-web"
domain = "calibre-web.${var.server_domain}"
port = "8083"
host = "127.0.0.1"
tls = false
},
]
}
output "app_urls" {
value = module.calibre-web-automated.app_urls
}
output "installed" {
value = true
depends_on = [module.calibre-web-automated.installed]
}