WIP Ghostfolio tryout
This commit is contained in:
@@ -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
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -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
Reference in New Issue
Block a user