job "tt-rss" { datacenters = ["homelab"] priority = 90 type = "service" constraint { attribute = "${attr.cpu.arch}" value = "amd64" } constraint { attribute = "${node.class}" operator = "set_contains" value = "cluster" } group "ttrss" { ephemeral_disk { migrate = true size = 200 sticky = true } network { mode = "host" port "http" { to = 80 } port "appPort" { to = 9000 } } vault { policies = ["ttrss"] } service { name = "tt-rss" port = "http" tags = [ "homer.enable=true", "homer.name=TT-RSS", "homer.service=Application", "homer.logo=https://www.ducamps.eu/tt-rss/images/favicon-72px.png", "homer.target=_blank", "homer.url=https://www.ducamps.eu/tt-rss", "traefik.enable=true", "traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`www.ducamps.eu`)&&PathPrefix(`/tt-rss`)", "traefik.http.routers.${NOMAD_JOB_NAME}.tls.domains[0].sans=www.ducamps.eu", "traefik.http.routers.${NOMAD_JOB_NAME}.tls.certresolver=myresolver", "traefik.http.routers.${NOMAD_JOB_NAME}.entrypoints=web,websecure", ] } task "ttrss-app" { driver = "docker" config { image = "docker.service.consul:5000/cthulhoo/ttrss-fpm-pgsql-static" ports = [ "appPort" ] volumes = [ "${NOMAD_ALLOC_DIR}/data:/var/www/html", "/mnt/diskstation/nomad/tt-rss/ttrss-auth-oidc:/var/www/html/tt-rss/plugins.local/auth_oidc" ] } env { TTRSS_DB-TYPE = "pgsql" TTRSS_DB_HOST = "active.db.service.consul" TTRSS_DB_NAME = "ttrss" TTRSS_DB_USER = "ttrss" TTRSS_SELF_URL_PATH = "https://www.ducamps.eu/tt-rss" TTRSS_PLUGINS = "auth_oidc, auth_internal" TTRSS_AUTH_OIDC_NAME= "Authelia" TTRSS_AUTH_OIDC_URL = "https://auth.ducamps.eu" TTRSS_AUTH_OIDC_CLIENT_ID = "ttrss" } template { data = <