Add kapowarr, komga and seedboxapi helper
This commit is contained in:
Marc Fokkert
2026-06-27 18:13:17 +02:00
parent f166f8fecb
commit 010cfe979d
7 changed files with 13488 additions and 3 deletions
+11
View File
@@ -28,7 +28,18 @@ provider "registry.opentofu.org/kreuzwerker/docker" {
version = "4.4.0" version = "4.4.0"
constraints = "4.4.0" constraints = "4.4.0"
hashes = [ hashes = [
"h1:/+ne7G88UiTPqX3LXAOMmwgtRjwnN8kueOaZOukbZQY=",
"h1:2qOxBXAY1kOHWfZ8OTd4/kwS1LdljTzRgkmlLKdQDtQ=",
"h1:3zlvr32I296KONabtpXZMSXHlzQhWUh2DEkLP87W4BE=",
"h1:6nwVuhkkVtOlx7G3FLpIXQ47jVPqb9KlpbiLzJApSMA=",
"h1:EJxOr2QM2pYk0vPLXvnOaxolzVOMwVl8+nRDLXULVJw=", "h1:EJxOr2QM2pYk0vPLXvnOaxolzVOMwVl8+nRDLXULVJw=",
"h1:I++DHa0wecEZ9OacZgEx9iNGVa/uc4te9sQ9RIOAwio=",
"h1:IqOlMrUHFltZYZA6E4o9OGPnCk4w91QDBsIXrlTQQDU=",
"h1:at8dhQVFh+A1i9uDcYq5GsYzTGCkVvpa+ht8/4+ZNvI=",
"h1:eJHl/NUvS9KnyMJ7M7D5x0twwtYs7PjYVGlIIBrQSOo=",
"h1:hlR0FoMz9NcbUSzVsjbOshMsl4BmTQ5WZRDcPo6cuU4=",
"h1:kaC2RORCpes4qOjS6hIOl9m0BFIOLb55oatIWClqjlE=",
"h1:y3+SNmYHaggNhpqvvQyrv+y8C2j64rpLWOxDpNGAxnU=",
"zh:0ae16c1fd4a2d6d8b54791e2fbca20381fb9fc29809ee59d4f422ac636c9b659", "zh:0ae16c1fd4a2d6d8b54791e2fbca20381fb9fc29809ee59d4f422ac636c9b659",
"zh:0f92b1d5296d80b90daff0909b8aeb9ed5c3db1436c74016a8ecbf6a57fafe1b", "zh:0f92b1d5296d80b90daff0909b8aeb9ed5c3db1436c74016a8ecbf6a57fafe1b",
"zh:29fb91dd3e3b6de5ce36f272e527b6efcdbcd83c8eb0679402a1985ab1a3d7fd", "zh:29fb91dd3e3b6de5ce36f272e527b6efcdbcd83c8eb0679402a1985ab1a3d7fd",
+2 -1
View File
@@ -27,7 +27,8 @@ resource "docker_container" "gluetun" {
"SERVER_COUNTRIES=Netherlands", "SERVER_COUNTRIES=Netherlands",
# 8112 = Deluge # 8112 = Deluge
"FIREWALL_INPUT_PORTS=8112" # 5656 = Kapowarr/comics
"FIREWALL_INPUT_PORTS=8112,5656"
] ]
devices { devices {
+62
View File
@@ -0,0 +1,62 @@
data "docker_registry_image" "kapowarr" {
name = "mrcas/kapowarr:latest"
}
resource "docker_image" "kapowarr" {
name = data.docker_registry_image.kapowarr.name
pull_triggers = [data.docker_registry_image.kapowarr.sha256_digest]
}
resource "docker_container" "kapowarr" {
image = docker_image.kapowarr.image_id
name = "kapowarr"
restart = "always"
memory = 1000
memory_swap = 1000
log_driver = "local"
env = [
"PUID=222",
"PGID=321",
"TZ=Europe/Amsterdam"
]
network_mode = "container:gluetun"
mounts {
target = "/app/db"
source = "/var/lib/containers/kapowarr"
type = "bind"
}
mounts {
target = "/app/temp_downloads"
source = "/mnt/datarr/kapowarr"
type = "bind"
}
mounts {
target = "/comics"
source = "/mnt/datarr/media/comics"
type = "bind"
}
mounts {
target = "/manga"
source = "/mnt/datarr/media/manga"
type = "bind"
}
depends_on = [
docker_container.gluetun
]
lifecycle {
ignore_changes = [
ulimit,
log_opts
]
}
}
+63
View File
@@ -0,0 +1,63 @@
data "docker_registry_image" "komga" {
name = "gotson/komga"
}
resource "docker_image" "komga" {
name = data.docker_registry_image.komga.name
pull_triggers = [data.docker_registry_image.komga.sha256_digest]
}
resource "docker_container" "komga" {
image = docker_image.komga.image_id
name = "komga"
restart = "always"
memory = 2000
memory_swap = 2000
env = [
"TZ=Europe/Amsterdam",
]
mounts {
target = "/config"
source = "/var/lib/containers/komga/config"
type = "bind"
}
mounts {
target = "/data"
source = "/var/lib/containers/komga/data"
type = "bind"
}
mounts {
target = "/comics"
source = "/mnt/datarr/media/comics"
type = "bind"
}
mounts {
target = "/manga"
source = "/mnt/datarr/media/manga"
type = "bind"
}
mounts {
target = "/ebooks"
source = "/mnt/datarr/media/ebooks"
type = "bind"
}
lifecycle {
ignore_changes = [
ulimit,
log_opts
]
}
networks_advanced {
name = docker_network.container-public.name
ipv4_address = "192.168.3.63"
}
}
+46
View File
@@ -0,0 +1,46 @@
data "docker_registry_image" "seedboxapi" {
name = "myanonamouse/seedboxapi:20250413-0519"
}
resource "docker_image" "seedboxapi" {
name = data.docker_registry_image.seedboxapi.name
pull_triggers = [data.docker_registry_image.seedboxapi.sha256_digest]
}
resource "docker_container" "seedboxapi" {
image = docker_image.seedboxapi.image_id
name = "seedboxapi"
restart = "always"
user = "1999:1999"
memory = 1000
memory_swap = 1000
log_driver = "local"
env = [
"DEBUG=1",
"mam_id=8IFqYP2iUdjoJhiAd1m0e_DVMRj6Mvv8D8KmUxjDmUbQgBUpMgv5sdBh_MT8tgt-6NohXNgS0j2qPoz-jQHemzQ2G48yVeGF5jq5ZGXrThYg8CZrudzcn_jQm2LzMjDakgDpO_xo-x2TfZYtCwlBUCv1ArdcpYXHC6TGxFIZIf0Llfc9Qb0KevL0Pod6DASdjRMElfRQyLvIvUAoq8SsQ_KrO_k3NxZ3LdZVI0WOoVetjaxWC9DEAxVvdXh6a8FhLygsSaKCyI2zrYJHppxHyIKs0JTjl2lbfdpG",
"interval=1"
]
network_mode = "container:gluetun"
mounts {
target = "/config"
source = "/var/lib/containers/seedboxapi"
type = "bind"
}
depends_on = [
docker_container.gluetun
]
lifecycle {
ignore_changes = [
ulimit,
log_opts
]
}
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long