add ghostfolio service
This commit is contained in:
parent
54d298dbcf
commit
7929ae75e7
@ -25,6 +25,9 @@ postgresql_users:
|
|||||||
password: "{{ lookup('hashi_vault', 'secret=secrets/data/database/dump:password')}}"
|
password: "{{ lookup('hashi_vault', 'secret=secrets/data/database/dump:password')}}"
|
||||||
- name: vikunja
|
- name: vikunja
|
||||||
password: "{{ lookup('hashi_vault', 'secret=secrets/data/database/vikunja:password')}}"
|
password: "{{ lookup('hashi_vault', 'secret=secrets/data/database/vikunja:password')}}"
|
||||||
|
- name: ghostfolio
|
||||||
|
password: "{{ lookup('hashi_vault', 'secret=secrets/data/database/ghostfolio:password')}}"
|
||||||
|
|
||||||
|
|
||||||
postgresql_databases:
|
postgresql_databases:
|
||||||
- name: wikijs
|
- name: wikijs
|
||||||
@ -47,4 +50,5 @@ postgresql_databases:
|
|||||||
owner: paperless
|
owner: paperless
|
||||||
- name: vikunja
|
- name: vikunja
|
||||||
owner: vikunja
|
owner: vikunja
|
||||||
|
- name: ghostfolio
|
||||||
|
owner: ghostfolio
|
||||||
|
86
nomad-job/ghostfolio.nomad
Normal file
86
nomad-job/ghostfolio.nomad
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
|
||||||
|
job "ghostfolio" {
|
||||||
|
datacenters = ["homelab"]
|
||||||
|
priority = 50
|
||||||
|
type = "service"
|
||||||
|
meta {
|
||||||
|
forcedeploy = "0"
|
||||||
|
}
|
||||||
|
constraint {
|
||||||
|
attribute = "${attr.cpu.arch}"
|
||||||
|
value = "amd64"
|
||||||
|
}
|
||||||
|
|
||||||
|
group "main"{
|
||||||
|
network {
|
||||||
|
mode = "host"
|
||||||
|
port "http" {
|
||||||
|
}
|
||||||
|
port "redis" {
|
||||||
|
to = 6379
|
||||||
|
}
|
||||||
|
}
|
||||||
|
vault{
|
||||||
|
policies= ["ghostfolio"]
|
||||||
|
|
||||||
|
}
|
||||||
|
task "redis" {
|
||||||
|
driver = "docker"
|
||||||
|
config {
|
||||||
|
image = "redis"
|
||||||
|
ports = ["redis"]
|
||||||
|
}
|
||||||
|
resources {
|
||||||
|
memory = 50
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
task "server" {
|
||||||
|
driver = "docker"
|
||||||
|
service {
|
||||||
|
name = "${NOMAD_JOB_NAME}"
|
||||||
|
port = "http"
|
||||||
|
tags = [
|
||||||
|
"traefik.enable=true",
|
||||||
|
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.ducamps.win`)",
|
||||||
|
"traefik.http.routers.${NOMAD_JOB_NAME}.tls.domains[0].sans=${NOMAD_JOB_NAME}.ducamps.win",
|
||||||
|
"traefik.http.routers.${NOMAD_JOB_NAME}.tls.certresolver=myresolver",
|
||||||
|
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
||||||
|
config {
|
||||||
|
image = "ghostfolio/ghostfolio:latest"
|
||||||
|
ports = ["http"]
|
||||||
|
volumes = [
|
||||||
|
]
|
||||||
|
|
||||||
|
}
|
||||||
|
env {
|
||||||
|
NODE_ENV = "production"
|
||||||
|
REDIS_HOST= "${NOMAD_IP_redis}"
|
||||||
|
REDIS_PORT = "${NOMAD_HOST_PORT_redis}"
|
||||||
|
PORT = "${NOMAD_PORT_http}"
|
||||||
|
JWT_SECRET_KEY = uuidv4()
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
template {
|
||||||
|
data= <<EOH
|
||||||
|
{{ with secret "secrets/data/database/ghostfolio"}}
|
||||||
|
DATABASE_URL = postgresql://ghostfolio:{{.Data.data.password}}@db1.ducamps.win:5432/ghostfolio?connect_timeout=300&sslmode=prefer
|
||||||
|
{{end}}
|
||||||
|
{{ with secret "secrets/data/nomad/ghostfolio"}}
|
||||||
|
ACCESS_TOKEN_SALT = {{.Data.data.token}}
|
||||||
|
{{end}}
|
||||||
|
EOH
|
||||||
|
destination = "secrets/ghostfolio.env"
|
||||||
|
env = true
|
||||||
|
}
|
||||||
|
resources {
|
||||||
|
memory = 400
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -20,6 +20,7 @@ locals {
|
|||||||
"vaultwarden",
|
"vaultwarden",
|
||||||
"wikijs",
|
"wikijs",
|
||||||
"vikunja",
|
"vikunja",
|
||||||
|
"ghostfolio",
|
||||||
]
|
]
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user