Compare commits
No commits in common. "852c60a5400b59a5679ea451a7fbd23b5cedeff7" and "b9acac33e276ab5d7ad0a54d3d12fe87d1a3c1ba" have entirely different histories.
852c60a540
...
b9acac33e2
|
|
@ -1,63 +0,0 @@
|
|||
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]
|
||||
}
|
||||
|
|
@ -1,61 +0,0 @@
|
|||
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 "kosync" {
|
||||
source = "../quadlet-app"
|
||||
wait_on = var.wait_on
|
||||
|
||||
server_ip = var.server_ip
|
||||
ssh_private_key_path = var.ssh_private_key_path
|
||||
|
||||
app_name = "kosync"
|
||||
image = "docker.io/koreader/kosync:latest"
|
||||
ports = ["17200:17200"]
|
||||
volumes = [
|
||||
"/opt/storage/data/kosync/logs/app:/app/koreader-sync-server/logs:Z",
|
||||
"/opt/storage/data/kosync/logs/redis:/var/log/redis:Z",
|
||||
"/opt/storage/data/kosync/data/redis:/var/lib/redis:Z",
|
||||
]
|
||||
|
||||
environment = {
|
||||
ENABLE_USER_REGISTRATION = "true"
|
||||
GIN_ENV = "production"
|
||||
}
|
||||
|
||||
# Healthcheck over plain HTTP (port 17200) since HAProxy handles TLS
|
||||
healthcmd = "curl -sf -H \"Accept: application/vnd.koreader.v1+json\" http://127.0.0.1:17200/healthcheck | grep -q '\"state\":\"OK\"'"
|
||||
|
||||
haproxy_services = [
|
||||
{
|
||||
name = "kosync"
|
||||
domain = "kosync.${var.server_domain}"
|
||||
port = "17200"
|
||||
host = "127.0.0.1"
|
||||
tls = false
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
output "app_urls" {
|
||||
value = module.kosync.app_urls
|
||||
}
|
||||
|
||||
output "installed" {
|
||||
value = true
|
||||
depends_on = [module.kosync.installed]
|
||||
}
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
variable "hcloud_token" {
|
||||
type = string
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "hdns_token" {
|
||||
type = string
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
|
|
@ -19,7 +19,7 @@ variable "ssh_private_key_path" {
|
|||
}
|
||||
|
||||
variable "server" {
|
||||
default = "mars"
|
||||
default = "mars"
|
||||
}
|
||||
|
||||
variable "server_domain" {
|
||||
|
|
@ -31,12 +31,12 @@ variable "ghcr_token" {}
|
|||
|
||||
resource "null_resource" "is_up" {
|
||||
connection {
|
||||
type = "ssh"
|
||||
host = var.server
|
||||
user = "fourlights"
|
||||
timeout = "10m"
|
||||
agent = true
|
||||
agent_identity = var.ssh_private_key_path
|
||||
type = "ssh"
|
||||
host = var.server
|
||||
user = "fourlights"
|
||||
timeout = "10m"
|
||||
agent = true
|
||||
agent_identity = var.ssh_private_key_path
|
||||
}
|
||||
|
||||
provisioner "remote-exec" {
|
||||
|
|
@ -48,68 +48,68 @@ resource "null_resource" "is_up" {
|
|||
|
||||
module "containers-network" {
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/network"
|
||||
source = "../../quadlets/network"
|
||||
|
||||
server_ip = var.server
|
||||
server_ip = var.server
|
||||
ssh_private_key_path = var.ssh_private_key_path
|
||||
|
||||
name = "containers"
|
||||
}
|
||||
|
||||
module "minio" {
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/minio"
|
||||
server_ip = var.server
|
||||
server_domain = var.server_domain
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/minio"
|
||||
server_ip = var.server
|
||||
server_domain = var.server_domain
|
||||
ssh_private_key_path = var.ssh_private_key_path
|
||||
https = true
|
||||
https = true
|
||||
}
|
||||
|
||||
module "valkey" {
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/valkey"
|
||||
server_ip = var.server
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/valkey"
|
||||
server_ip = var.server
|
||||
ssh_private_key_path = var.ssh_private_key_path
|
||||
}
|
||||
|
||||
module "affine" {
|
||||
wait_on = module.postgres.installed
|
||||
source = "../../quadlets/modules/affine"
|
||||
server_ip = var.server
|
||||
server_domain = var.server_domain
|
||||
wait_on = module.postgres.installed
|
||||
source = "../../quadlets/modules/affine"
|
||||
server_ip = var.server
|
||||
server_domain = var.server_domain
|
||||
ssh_private_key_path = var.ssh_private_key_path
|
||||
|
||||
|
||||
# Pass postgres password for database connection
|
||||
postgres_password = module.postgres.password
|
||||
}
|
||||
|
||||
module "oci-proxy" {
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/oci-proxy"
|
||||
server_ip = var.server
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/oci-proxy"
|
||||
server_ip = var.server
|
||||
ssh_private_key_path = var.ssh_private_key_path
|
||||
}
|
||||
|
||||
module "arcane" {
|
||||
wait_on = module.oci-proxy.installed
|
||||
source = "../../quadlets/modules/arcane"
|
||||
server_domain = var.server_domain
|
||||
server_ip = var.server
|
||||
wait_on = module.oci-proxy.installed
|
||||
source = "../../quadlets/modules/arcane"
|
||||
server_domain = var.server_domain
|
||||
server_ip = var.server
|
||||
ssh_private_key_path = var.ssh_private_key_path
|
||||
}
|
||||
|
||||
module "qdrant" {
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/qdrant"
|
||||
server_ip = var.server
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/qdrant"
|
||||
server_ip = var.server
|
||||
ssh_private_key_path = var.ssh_private_key_path
|
||||
server_domain = var.server_domain
|
||||
server_domain = var.server_domain
|
||||
}
|
||||
|
||||
module "documentdb" {
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/documentdb"
|
||||
server_ip = var.server
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/documentdb"
|
||||
server_ip = var.server
|
||||
ssh_private_key_path = var.ssh_private_key_path
|
||||
}
|
||||
|
||||
|
|
@ -122,16 +122,16 @@ module "documentdb" {
|
|||
#}
|
||||
|
||||
module "postgres" {
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/postgres"
|
||||
server_ip = var.server
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/postgres"
|
||||
server_ip = var.server
|
||||
ssh_private_key_path = var.ssh_private_key_path
|
||||
}
|
||||
|
||||
module "rabbitmq" {
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/rabbitmq"
|
||||
server_ip = var.server
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/rabbitmq"
|
||||
server_ip = var.server
|
||||
ssh_private_key_path = var.ssh_private_key_path
|
||||
}
|
||||
|
||||
|
|
@ -153,44 +153,44 @@ module "rabbitmq" {
|
|||
#}
|
||||
|
||||
module "gonic" {
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/gonic"
|
||||
server_ip = var.server
|
||||
server_domain = var.server_domain
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/gonic"
|
||||
server_ip = var.server
|
||||
server_domain = var.server_domain
|
||||
ssh_private_key_path = var.ssh_private_key_path
|
||||
}
|
||||
|
||||
module "tmail-web" {
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/tmail-web"
|
||||
server_ip = var.server
|
||||
server_domain = var.server_domain
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/tmail-web"
|
||||
server_ip = var.server
|
||||
server_domain = var.server_domain
|
||||
ssh_private_key_path = var.ssh_private_key_path
|
||||
server_url = "https://mail.binarysunset.dev"
|
||||
server_url = "https://mail.binarysunset.dev"
|
||||
}
|
||||
|
||||
module "navidrome" {
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/navidrome"
|
||||
server_ip = var.server
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/navidrome"
|
||||
server_ip = var.server
|
||||
ssh_private_key_path = var.ssh_private_key_path
|
||||
server_domain = var.server_domain
|
||||
server_domain = var.server_domain
|
||||
}
|
||||
|
||||
module "mopidy" {
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/mopidy"
|
||||
server_ip = var.server
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/mopidy"
|
||||
server_ip = var.server
|
||||
ssh_private_key_path = var.ssh_private_key_path
|
||||
server_domain = var.server_domain
|
||||
server_domain = var.server_domain
|
||||
}
|
||||
|
||||
module "zot" {
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/zot"
|
||||
server_ip = var.server
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/zot"
|
||||
server_ip = var.server
|
||||
ssh_private_key_path = var.ssh_private_key_path
|
||||
server_domain = var.server_domain
|
||||
server_domain = var.server_domain
|
||||
}
|
||||
|
||||
# Deploy Plane after all dependencies are ready
|
||||
|
|
@ -211,51 +211,35 @@ module "zot" {
|
|||
# rabbitmq_password = module.rabbitmq.password
|
||||
#}
|
||||
|
||||
module "kosync" {
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/kosync"
|
||||
server_ip = var.server
|
||||
server_domain = var.server_domain
|
||||
ssh_private_key_path = var.ssh_private_key_path
|
||||
}
|
||||
|
||||
module "calibre-web-automated" {
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/calibre-web-automated"
|
||||
server_ip = var.server
|
||||
server_domain = var.server_domain
|
||||
ssh_private_key_path = var.ssh_private_key_path
|
||||
}
|
||||
|
||||
module "beets" {
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/beets"
|
||||
server_ip = var.server
|
||||
server_domain = var.server_domain
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/beets"
|
||||
server_ip = var.server
|
||||
server_domain = var.server_domain
|
||||
ssh_private_key_path = var.ssh_private_key_path
|
||||
}
|
||||
|
||||
module "deeptutor" {
|
||||
count = 0
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/deeptutor"
|
||||
server_ip = var.server
|
||||
server_domain = var.server_domain
|
||||
count = 0
|
||||
wait_on = null_resource.is_up
|
||||
source = "../../quadlets/modules/deeptutor"
|
||||
server_ip = var.server
|
||||
server_domain = var.server_domain
|
||||
ssh_private_key_path = var.ssh_private_key_path
|
||||
}
|
||||
|
||||
output "psql_pw" {
|
||||
value = module.postgres.password
|
||||
value = module.postgres.password
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
module "forgejo" {
|
||||
wait_on = module.postgres.installed
|
||||
source = "../../quadlets/modules/forgejo"
|
||||
server_ip = var.server
|
||||
server_domain = var.server_domain
|
||||
wait_on = module.postgres.installed
|
||||
source = "../../quadlets/modules/forgejo"
|
||||
server_ip = var.server
|
||||
server_domain = var.server_domain
|
||||
ssh_private_key_path = var.ssh_private_key_path
|
||||
|
||||
|
||||
# Pass postgres password for database connection
|
||||
postgres_password = module.postgres.password
|
||||
}
|
||||
|
|
@ -265,8 +249,8 @@ output "minio_app_urls" {
|
|||
}
|
||||
|
||||
output "qdrant_api_key" {
|
||||
value = module.qdrant.api_key
|
||||
sensitive = true
|
||||
value = module.qdrant.api_key
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
#output "plane_app_urls" {
|
||||
|
|
@ -298,14 +282,6 @@ output "tmail_web_app_urls" {
|
|||
value = module.tmail-web.app_urls
|
||||
}
|
||||
|
||||
output "kosync_app_urls" {
|
||||
value = module.kosync.app_urls
|
||||
}
|
||||
|
||||
output "calibre_web_automated_app_urls" {
|
||||
value = module.calibre-web-automated.app_urls
|
||||
}
|
||||
|
||||
#output "plane_credentials" {
|
||||
#value = module.plane.credentials
|
||||
#sensitive = true
|
||||
|
|
|
|||
Loading…
Reference in New Issue