WIP Ghostfolio tryout

This commit is contained in:
Rescla
2026-06-16 09:20:42 +02:00
parent 05778f34f2
commit 6d58fc504d
4 changed files with 115 additions and 2 deletions
+109
View File
@@ -0,0 +1,109 @@
data "docker_registry_image" "ghostfolio" {
name = "ghostfolio/ghostfolio:latest"
}
data "docker_registry_image" "redis-ghostfolio" {
name = "redis:alpine"
}
resource "docker_image" "ghostfolio" {
name = data.docker_registry_image.ghostfolio.name
pull_triggers = [data.docker_registry_image.ghostfolio.sha256_digest]
}
resource "docker_image" "redis-ghostfolio" {
name = data.docker_registry_image.redis-ghostfolio.name
pull_triggers = [data.docker_registry_image.redis-ghostfolio.sha256_digest]
}
resource "docker_network" "ghostfolio" {
name = "ghostfolio"
}
resource "docker_container" "ghostfolio" {
image = docker_image.ghostfolio.image_id
name = "ghostfolio"
restart = "unless-stopped"
init = true
env = [
"PORT=3333",
"REDIS_HOST=redis-ghostfolio",
"REDIS_PORT=6379",
"REDIS_PASSWORD=CNjYpuZS864zCGT0",
"POSTGRES_DB=ghostfolio",
"POSTGRES_USER=ghostfolio",
"POSTGRES_PASSWORD=BxaT4E9rFlT1UiH9",
"ACCESS_TOKEN_SALT=dTjwBBsdq9YgfzMwKh1I7HP7gmHeVfRBw8Q96VZi1E6VoZzYKS2cjhV5xKPrKmT6",
"DATABASE_URL=postgresql://ghostfolio:BxaT4E9rFlT1UiH9@postgres:5432/ghostfolio?connect_timeout=300",
"JWT_SECRET_KEY=tmGjRZWcal2oQJ1RC2Pv8BYOzStVh07hRA5T6uWVjpnwf4BkGIeanhp6TTJ7xemC"
]
mounts {
target = "/app/data"
source = "/var/lib/containers/ghostfolio/data"
type = "bind"
}
depends_on = [
docker_container.postgres,
docker_container.redis-ghostfolio
]
networks_advanced {
name = docker_network.container-public.name
ipv4_address = "192.168.3.62"
}
networks_advanced {
name = docker_network.ghostfolio.name
}
lifecycle {
ignore_changes = [
ulimit,
log_opts
]
}
}
resource "docker_container" "redis-ghostfolio" {
image = docker_image.redis-ghostfolio.image_id
name = "redis-ghostfolio"
restart = "unless-stopped"
user = "1000:1000"
hostname = "redis-ghostfolio"
command = [
"redis-server",
"--save", "900", "1", # RDB: save after 900s if ≥1 change
"--save", "300", "10", # RDB: save after 300s if ≥10 changes
"--save", "60", "10000", # RDB: save after 60s if ≥10k changes
"--dbfilename", "dump.rdb",
"--appendonly", "no", # Optional: disable AOF to prioritize RDB as requested
"--maxmemory", "256mb",
"--maxmemory-policy", "allkeys-lru",
"--protected-mode", "no", # Only safe inside isolated Docker network!
"--dir", "/data",
"--requirepass CNjYpuZS864zCGT0",
"--bind", "0.0.0.0",
"--port", "6379"
]
mounts {
target = "/data"
source = "/var/lib/containers/ghostfolio/redis"
type = "bind"
}
networks_advanced {
name = docker_network.ghostfolio.name
}
lifecycle {
ignore_changes = [
ulimit,
log_opts
]
}
}
+4
View File
@@ -23,6 +23,10 @@ resource "docker_container" "postgres" {
"POSTGRES_DB=piped",
"POSTGRES_USER=piped",
"POSTGRES_PASSWORD=YDoVrAXCxim%lOK8^"
# "POSTGRES_DB=ghostfolio",
# "POSTGRES_USER=ghostfolio",
# "POSTGRES_PASSWORD=BxaT4E9rFlT1UiH9"
]
networks_advanced {
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long