feat: docker pull througt mirror
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
parent
f0676ec3f7
commit
e0f9190b76
@ -3,3 +3,5 @@ docker_daemon_config:
|
||||
- 172.17.0.1
|
||||
- 192.168.1.5
|
||||
mtu: 1420
|
||||
insecure-registries:
|
||||
- 192.168.1.0/24
|
||||
|
@ -35,7 +35,7 @@ job "MQTT" {
|
||||
]
|
||||
}
|
||||
config {
|
||||
image = "eclipse-mosquitto"
|
||||
image = "docker.service.consul:5000/library/eclipse-mosquitto"
|
||||
ports = ["mosquittoWS", "mosquittoMQTT"]
|
||||
volumes = [
|
||||
"/mnt/diskstation/nomad/mosquitto:/mosquitto/data",
|
||||
|
@ -43,7 +43,7 @@ job "actualbudget" {
|
||||
]
|
||||
}
|
||||
config {
|
||||
image = "ghcr.io/actualbudget/actual-server:latest"
|
||||
image = "ghcr.service.consul:5000/actualbudget/actual-server:latest"
|
||||
ports = ["http"]
|
||||
volumes = [
|
||||
"/mnt/diskstation/nomad/actualbudget:/data"
|
||||
|
@ -45,7 +45,7 @@ job "alertmanager" {
|
||||
}
|
||||
|
||||
config {
|
||||
image = "prom/alertmanager"
|
||||
image = "docker.service.consul:5000/prom/alertmanager"
|
||||
args= ["--log.level=debug", "--config.file=/etc/alertmanager/alertmanager.yml"]
|
||||
ports = ["http"]
|
||||
volumes = [
|
||||
|
@ -26,7 +26,7 @@ job "backup-consul" {
|
||||
task "consul-backup" {
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "ducampsv/docker-consul-backup:latest"
|
||||
image = "docker.service.consul:5000/ducampsv/docker-consul-backup:latest"
|
||||
volumes = [
|
||||
"/mnt/diskstation/nomad/backup/consul:/backup"
|
||||
]
|
||||
|
@ -32,7 +32,7 @@ job "backup-postgress" {
|
||||
name = "backup-postgress"
|
||||
}
|
||||
config {
|
||||
image = "ducampsv/docker-backup-postgres:latest"
|
||||
image = "docker.service.consul:5000/ducampsv/docker-backup-postgres:latest"
|
||||
volumes = [
|
||||
"/mnt/diskstation/nomad/backup/postgres:/backup"
|
||||
]
|
||||
|
@ -29,7 +29,7 @@ job "backup-vault" {
|
||||
task "backup-vault" {
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "ducampsv/docker-vault-backup:latest"
|
||||
image = "docker.service.consul:5000/ducampsv/docker-vault-backup:latest"
|
||||
volumes = [
|
||||
"/mnt/diskstation/nomad/backup/vault:/backup"
|
||||
]
|
||||
|
@ -13,7 +13,7 @@ job "batch-rutorrent" {
|
||||
task "cleanForwardFolder" {
|
||||
driver= "docker"
|
||||
config {
|
||||
image = "alpine"
|
||||
image = "docker.service.consul:5000/library/alpine"
|
||||
volumes = [
|
||||
"/mnt/hetzner/storagebox/file/forward:/file"
|
||||
]
|
||||
|
@ -32,7 +32,7 @@ job "batch-seedboxsync" {
|
||||
name = "seedboxsync"
|
||||
}
|
||||
config {
|
||||
image = "ducampsv/rsync:latest"
|
||||
image = "docker.service.consul:5000/ducampsv/rsync:latest"
|
||||
volumes = [
|
||||
"/mnt/diskstation/download:/media",
|
||||
"local/id_rsa:/home/rsyncuser/.ssh/id_rsa"
|
||||
|
@ -20,7 +20,7 @@ job "borgmatic" {
|
||||
task "borgmatic" {
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "ghcr.io/borgmatic-collective/borgmatic"
|
||||
image = "ghcr.service.consul:5000/borgmatic-collective/borgmatic"
|
||||
volumes = [
|
||||
"/exports:/exports",
|
||||
"local/borgmatic.d:/etc/borgmatic.d",
|
||||
|
@ -39,7 +39,7 @@ job "chainetv" {
|
||||
]
|
||||
}
|
||||
config {
|
||||
image = "ducampsv/chainetv:latest"
|
||||
image = "docker.service.consul:5000/ducampsv/chainetv:latest"
|
||||
ports = ["http"]
|
||||
}
|
||||
resources {
|
||||
|
@ -27,7 +27,7 @@ job "crowdsec-agent" {
|
||||
}
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "crowdsecurity/crowdsec"
|
||||
image = "docker.service.consul:5000/crowdsecurity/crowdsec"
|
||||
ports = ["metric"]
|
||||
volumes = [
|
||||
"/var/run/docker.sock:/var/run/docker.sock",
|
||||
|
@ -41,7 +41,7 @@ job "crowdsec-api" {
|
||||
]
|
||||
}
|
||||
config {
|
||||
image = "crowdsecurity/crowdsec"
|
||||
image = "docker.service.consul:5000/crowdsecurity/crowdsec"
|
||||
ports = ["http", "metric"]
|
||||
volumes = [
|
||||
"/mnt/diskstation/nomad/crowdsec/db:/var/lib/crowdsec/data",
|
||||
|
@ -33,7 +33,7 @@ job "dashboard" {
|
||||
]
|
||||
}
|
||||
config {
|
||||
image = "b4bz/homer"
|
||||
image = "docker.service.consul:5000/b4bz/homer"
|
||||
ports = ["http"]
|
||||
volumes = [
|
||||
"/mnt/diskstation/nomad/homer:/www/assets"
|
||||
|
@ -119,7 +119,7 @@ job "dockermailserver" {
|
||||
task "docker-mailserver" {
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "ghcr.io/docker-mailserver/docker-mailserver:latest"
|
||||
image = "ghcr.service.consul:5000/docker-mailserver/docker-mailserver:latest"
|
||||
ports = ["smtp", "esmtp", "imap","rspamd"]
|
||||
volumes = [
|
||||
"/mnt/diskstation/nomad/dms/mail-data:/var/mail",
|
||||
|
@ -16,7 +16,7 @@ job "drone-runner" {
|
||||
task "drone-runner" {
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "drone/drone-runner-docker:latest"
|
||||
image = "docker.service.consul:5000/drone/drone-runner-docker:latest"
|
||||
volumes = [
|
||||
"/var/run/docker.sock:/var/run/docker.sock",
|
||||
]
|
||||
|
@ -45,7 +45,7 @@ job "drone" {
|
||||
]
|
||||
}
|
||||
config {
|
||||
image = "drone/drone:latest"
|
||||
image = "docker.service.consul:5000/drone/drone:latest"
|
||||
ports = [
|
||||
"http"
|
||||
]
|
||||
|
@ -48,7 +48,7 @@ job "filestash" {
|
||||
]
|
||||
}
|
||||
config {
|
||||
image = "machines/filestash"
|
||||
image = "docker.service.consul:5000/machines/filestash"
|
||||
ports = ["http"]
|
||||
volumes = [
|
||||
"/mnt/diskstation/nomad/filestash:/app/data/state"
|
||||
|
@ -27,7 +27,7 @@ job "ghostfolio" {
|
||||
task "redis" {
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "redis"
|
||||
image = "docker.service.consul:5000/library/redis"
|
||||
ports = ["redis"]
|
||||
}
|
||||
resources {
|
||||
@ -51,7 +51,7 @@ job "ghostfolio" {
|
||||
]
|
||||
}
|
||||
config {
|
||||
image = "ghostfolio/ghostfolio:latest"
|
||||
image = "docker.service.consul:5000/ghostfolio/ghostfolio:latest"
|
||||
ports = ["http"]
|
||||
volumes = [
|
||||
]
|
||||
|
@ -59,7 +59,7 @@ job "git" {
|
||||
]
|
||||
}
|
||||
config {
|
||||
image = "gitea/gitea:latest"
|
||||
image = "docker.service.consul:5000/gitea/gitea:latest"
|
||||
ports = [
|
||||
"http",
|
||||
"ssh"
|
||||
|
@ -16,12 +16,6 @@ job "grafana" {
|
||||
to = 3000
|
||||
}
|
||||
}
|
||||
volume "grafana" {
|
||||
type = "csi"
|
||||
source = "grafana"
|
||||
access_mode = "multi-node-multi-writer"
|
||||
attachment_mode = "file-system"
|
||||
}
|
||||
service {
|
||||
name = "grafana"
|
||||
port = "http"
|
||||
@ -44,17 +38,13 @@ job "grafana" {
|
||||
}
|
||||
|
||||
task "dashboard" {
|
||||
volume_mount {
|
||||
volume = "grafana"
|
||||
destination = "/grafana"
|
||||
}
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "grafana/grafana"
|
||||
image = "docker.service.consul:5000/grafana/grafana"
|
||||
ports = ["http"]
|
||||
volumes = [
|
||||
"grafana:/etc/grafana",
|
||||
"grafana:/var/lib/grafana"
|
||||
"/mnt/diskstation/nomad/grafana/config:/etc/grafana",
|
||||
"/mnt/diskstation/nomad/grafana/lib:/var/lib/grafana"
|
||||
]
|
||||
}
|
||||
resources {
|
||||
|
@ -57,7 +57,7 @@ job "homeassistant" {
|
||||
}
|
||||
}
|
||||
config {
|
||||
image = "homeassistant/home-assistant:stable"
|
||||
image = "docker.service.consul:5000/homeassistant/home-assistant:stable"
|
||||
ports = ["http", "coap"]
|
||||
privileged = "true"
|
||||
network_mode = "host"
|
||||
|
@ -43,7 +43,7 @@ job "jellyfin" {
|
||||
|
||||
}
|
||||
config {
|
||||
image = "ghcr.io/jellyfin/jellyfin-vue:unstable"
|
||||
image = "ghcr.service.consul:5000/jellyfin/jellyfin-vue:unstable"
|
||||
ports = ["http"]
|
||||
}
|
||||
env {
|
||||
@ -88,7 +88,7 @@ job "jellyfin" {
|
||||
]
|
||||
}
|
||||
config {
|
||||
image = "jellyfin/jellyfin"
|
||||
image = "docker.service.consul:5000/jellyfin/jellyfin"
|
||||
ports = ["http"]
|
||||
volumes = [
|
||||
"/mnt/diskstation/nomad/jellyfin/config:/config",
|
||||
|
@ -41,7 +41,7 @@ job "lldap" {
|
||||
task "lldap" {
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "ducampsv/lldap:latest"
|
||||
image = "docker.service.consul:5000/ducampsv/lldap:latest"
|
||||
ports = ["ldap","http"]
|
||||
volumes = [
|
||||
"/mnt/diskstation/nomad/lldap:/data"
|
||||
|
@ -38,7 +38,7 @@ job "loki" {
|
||||
}
|
||||
}
|
||||
config {
|
||||
image = "grafana/loki"
|
||||
image = "docker.service.consul:5000/grafana/loki"
|
||||
ports = ["http"]
|
||||
args = [
|
||||
"-config.file",
|
||||
|
@ -32,7 +32,7 @@ job "node-exporter" {
|
||||
task "node-exporter" {
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "prom/node-exporter"
|
||||
image = "docker.service.consul:5000/prom/node-exporter"
|
||||
ports = ["http"]
|
||||
args = [
|
||||
"--web.listen-address=:${NOMAD_PORT_http}",
|
||||
|
@ -29,7 +29,7 @@ job "nut_exporter" {
|
||||
task "nut_exporter" {
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "ghcr.io/druggeri/nut_exporter"
|
||||
image = "ghcr.service.consul:5000/druggeri/nut_exporter"
|
||||
ports = ["http"]
|
||||
}
|
||||
env {
|
||||
|
@ -32,7 +32,7 @@ job "pacoloco" {
|
||||
]
|
||||
}
|
||||
config {
|
||||
image = "ducampsv/pacoloco"
|
||||
image = "docker.service.consul:5000/ducampsv/pacoloco"
|
||||
ports = ["http"]
|
||||
volumes = [
|
||||
"/mnt/diskstation/nomad/pacoloco:/var/cache/pacoloco",
|
||||
|
@ -33,7 +33,7 @@ job "paperless-ng" {
|
||||
task "redis" {
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "redis"
|
||||
image = "docker.service.consul:5000/library/redis"
|
||||
ports = ["redis"]
|
||||
}
|
||||
resources {
|
||||
@ -67,7 +67,7 @@ job "paperless-ng" {
|
||||
}
|
||||
}
|
||||
config {
|
||||
image = "ghcr.io/paperless-ngx/paperless-ngx"
|
||||
image = "ghcr.service.consul:5000/paperless-ngx/paperless-ngx"
|
||||
ports = ["http"]
|
||||
volumes = [
|
||||
"/mnt/diskstation/nomad/paperless-ng/media:/usr/src/paperless/media",
|
||||
|
@ -39,7 +39,7 @@ job "pdns-auth" {
|
||||
|
||||
}
|
||||
config {
|
||||
image = "powerdns/pdns-auth-master:latest"
|
||||
image = "docker.service.consul:5000/powerdns/pdns-auth-master:latest"
|
||||
network_mode = "host"
|
||||
privileged=true
|
||||
cap_add= ["net_bind_service"]
|
||||
@ -102,7 +102,7 @@ include-dir=/etc/powerdns/pdns.d
|
||||
}
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "powerdnsadmin/pda-legacy:latest"
|
||||
image = "docker.service.consul:5000/powerdnsadmin/pda-legacy:latest"
|
||||
ports= ["pdnsadmin"]
|
||||
volumes = [
|
||||
"/mnt/diskstation/nomad/pdns-admin/:/data/node_module/",
|
||||
@ -131,7 +131,7 @@ SQLALCHEMY_DATABASE_URI=postgresql://pdns-admin:{{ .Data.data.pdnsadmin }}@activ
|
||||
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "powerdns/pdns-recursor-master:latest"
|
||||
image = "docker.service.consul:5000/powerdns/pdns-recursor-master:latest"
|
||||
network_mode = "host"
|
||||
volumes = [
|
||||
"local/recursor.conf:/etc/powerdns/recursor.conf",
|
||||
@ -172,7 +172,7 @@ local-address=192.168.1.6
|
||||
EOH
|
||||
}
|
||||
config {
|
||||
image = "osixia/keepalived:2.0.20"
|
||||
image = "docker.service.consul:5000/osixia/keepalived:2.0.20"
|
||||
network_mode = "host"
|
||||
cap_add = [
|
||||
"NET_ADMIN",
|
||||
|
@ -45,7 +45,7 @@ job "pihole" {
|
||||
|
||||
}
|
||||
config {
|
||||
image = "pihole/pihole:2023.10.0"
|
||||
image = "docker.service.consul:5000/pihole/pihole:2023.10.0"
|
||||
network_mode = "host"
|
||||
volumes = [
|
||||
"local/dnsmasq.d/02-localresolver.conf:/etc/dnsmasq.d/02-localresolver.conf",
|
||||
|
@ -250,7 +250,7 @@ EOH
|
||||
driver = "docker"
|
||||
|
||||
config {
|
||||
image = "prom/prometheus:latest"
|
||||
image = "docker.service.consul:5000/prom/prometheus:latest"
|
||||
args = [
|
||||
"--config.file=/etc/prometheus/prometheus.yml",
|
||||
"--storage.tsdb.path=/prometheus",
|
||||
|
@ -44,7 +44,7 @@ job "radicale" {
|
||||
]
|
||||
}
|
||||
config {
|
||||
image = "tomsquest/docker-radicale"
|
||||
image = "docker.service.consul:5000/tomsquest/docker-radicale"
|
||||
ports = ["http"]
|
||||
volumes = [
|
||||
"local/config:/config/config",
|
||||
|
219
nomad-job/registry.nomad.hcl
Normal file
219
nomad-job/registry.nomad.hcl
Normal file
@ -0,0 +1,219 @@
|
||||
job "registry" {
|
||||
datacenters = ["homelab"]
|
||||
priority = 100
|
||||
type = "service"
|
||||
meta {
|
||||
forcedeploy = "0"
|
||||
}
|
||||
constraint {
|
||||
attribute = "${attr.cpu.arch}"
|
||||
value = "amd64"
|
||||
}
|
||||
|
||||
group "registry" {
|
||||
network {
|
||||
mode = "host"
|
||||
port "docker_registry" {
|
||||
to = 5000
|
||||
}
|
||||
port "ghcr_registry" {
|
||||
to = 5000
|
||||
}
|
||||
port "traefik" {
|
||||
to = 5000
|
||||
static = 5000
|
||||
}
|
||||
port "redis" {
|
||||
to = 6379
|
||||
}
|
||||
port "admin" {
|
||||
to = 8080
|
||||
}
|
||||
}
|
||||
volume "registry-docker" {
|
||||
type = "csi"
|
||||
source = "registry-docker"
|
||||
access_mode = "multi-node-multi-writer"
|
||||
attachment_mode = "file-system"
|
||||
}
|
||||
volume "registry-ghcr" {
|
||||
type = "csi"
|
||||
source = "registry-ghcr"
|
||||
access_mode = "multi-node-multi-writer"
|
||||
attachment_mode = "file-system"
|
||||
}
|
||||
service {
|
||||
name = "docker"
|
||||
port = "traefik"
|
||||
}
|
||||
service {
|
||||
name = "ghcr"
|
||||
port = "traefik"
|
||||
}
|
||||
task "docker-registry" {
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "registry:2"
|
||||
ports = ["docker_registry"]
|
||||
volumes = [
|
||||
"local/dockerhub.yaml:/etc/docker/registry/config.yml"
|
||||
]
|
||||
|
||||
}
|
||||
env {
|
||||
}
|
||||
volume_mount {
|
||||
volume = "registry-docker"
|
||||
destination = "/var/lib/registry"
|
||||
}
|
||||
template {
|
||||
data = <<EOH
|
||||
http:
|
||||
addr: :5000
|
||||
log:
|
||||
fields:
|
||||
service: registry
|
||||
proxy:
|
||||
remoteurl: https://registry-1.docker.io
|
||||
redis:
|
||||
addr: {{env "NOMAD_ADDR_redis"}}
|
||||
db: 0
|
||||
storage:
|
||||
cache:
|
||||
blobdescriptor: redis
|
||||
filesystem:
|
||||
rootdirectory: /var/lib/registry
|
||||
version: '0.1'
|
||||
|
||||
EOH
|
||||
destination = "local/dockerhub.yaml"
|
||||
}
|
||||
resources {
|
||||
memory = 150
|
||||
max_memory = 300
|
||||
}
|
||||
}
|
||||
task "docker-ghcr" {
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "registry:2"
|
||||
ports = ["ghcr_registry"]
|
||||
volumes = [
|
||||
"local/ghcr.yaml:/etc/docker/registry/config.yml"
|
||||
]
|
||||
|
||||
}
|
||||
env {
|
||||
}
|
||||
volume_mount {
|
||||
volume = "registry-ghcr"
|
||||
destination = "/var/lib/registry"
|
||||
}
|
||||
template {
|
||||
data = <<EOH
|
||||
http:
|
||||
addr: :5000
|
||||
log:
|
||||
fields:
|
||||
service: registry
|
||||
proxy:
|
||||
remoteurl: https://ghcr.io
|
||||
redis:
|
||||
addr: {{env "NOMAD_ADDR_redis"}}
|
||||
db: 1
|
||||
storage:
|
||||
cache:
|
||||
blobdescriptor: redis
|
||||
filesystem:
|
||||
rootdirectory: /var/lib/registry
|
||||
version: '0.1'
|
||||
|
||||
EOH
|
||||
destination = "local/ghcr.yaml"
|
||||
}
|
||||
resources {
|
||||
memory = 150
|
||||
max_memory = 300
|
||||
}
|
||||
}
|
||||
|
||||
task "redis" {
|
||||
driver = "docker"
|
||||
config {
|
||||
command = "redis-server"
|
||||
args = ["/usr/local/etc/redis/redis.conf"]
|
||||
image = "redis"
|
||||
ports = ["redis"]
|
||||
volumes = [
|
||||
"local/redis.conf:/usr/local/etc/redis/redis.conf"
|
||||
]
|
||||
}
|
||||
template {
|
||||
data = <<EOH
|
||||
databases 2
|
||||
|
||||
EOH
|
||||
destination = "local/redis.conf"
|
||||
}
|
||||
resources {
|
||||
memory = 25
|
||||
}
|
||||
}
|
||||
|
||||
task "traefik" {
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "traefik"
|
||||
ports = ["traefik","admin"]
|
||||
volumes = [
|
||||
"local/traefik.toml:/etc/traefik/traefik.toml"
|
||||
]
|
||||
|
||||
}
|
||||
|
||||
template {
|
||||
data = <<EOH
|
||||
[accessLog]
|
||||
[api]
|
||||
dashboard = true
|
||||
insecure = true
|
||||
[entryPoints]
|
||||
[entryPoints.docker]
|
||||
address = ":5000"
|
||||
[http]
|
||||
[http.routers]
|
||||
[http.routers.dockerhub]
|
||||
entryPoints = ["docker"]
|
||||
rule = "Host(`docker.service.consul`)"
|
||||
service = "dockerhub"
|
||||
[http.routers.dockerhub.tls]
|
||||
|
||||
[http.routers.ghcr]
|
||||
entryPoints = ["docker"]
|
||||
rule ="host(`ghcr.service.consul`)"
|
||||
service = "ghcr"
|
||||
[http.routers.ghcr.tls]
|
||||
[http.services]
|
||||
[http.services.dockerhub]
|
||||
[[http.services.dockerhub.loadbalancer.servers]]
|
||||
url = "http://{{env "NOMAD_ADDR_docker_registry" }}"
|
||||
[http.services.ghcr]
|
||||
[[http.services.ghcr.loadbalancer.servers]]
|
||||
url = "http://{{ env "NOMAD_ADDR_ghcr_registry" }}"
|
||||
[providers]
|
||||
[providers.file]
|
||||
filename= "/etc/traefik/traefik.toml"
|
||||
|
||||
[log]
|
||||
level = "DEBUG"
|
||||
EOH
|
||||
destination = "local/traefik.toml"
|
||||
}
|
||||
resources {
|
||||
memory = 75
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -57,7 +57,7 @@ job "torrent" {
|
||||
user = "root"
|
||||
config {
|
||||
|
||||
image = "docker.io/crazymax/rtorrent-rutorrent:edge"
|
||||
image = "docker.service.consul:5000/crazymax/rtorrent-rutorrent:edge"
|
||||
privileged = "true"
|
||||
ports = [
|
||||
"http",
|
||||
|
@ -53,7 +53,7 @@ job "supysonic" {
|
||||
task "supysonic-frontend" {
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "nginx:alpine"
|
||||
image = "docker.service.consul:5000/library/nginx:alpine"
|
||||
ports = [
|
||||
"http"
|
||||
]
|
||||
@ -96,7 +96,7 @@ http {
|
||||
task "supysonic-server" {
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "ducampsv/supysonic:latest"
|
||||
image = "docker.service.consul:5000/ducampsv/supysonic:latest"
|
||||
ports = ["fcgi"]
|
||||
force_pull = true
|
||||
volumes = [
|
||||
|
@ -44,7 +44,7 @@ job "syncthing" {
|
||||
]
|
||||
}
|
||||
config {
|
||||
image = "linuxserver/syncthing"
|
||||
image = "docker.service.consul:5000/linuxserver/syncthing"
|
||||
ports = ["http"]
|
||||
volumes = [
|
||||
"/mnt/diskstation/nomad/syncthing/config:/config",
|
||||
|
@ -67,7 +67,7 @@ job "traefik-ingress" {
|
||||
}
|
||||
|
||||
config {
|
||||
image = "traefik"
|
||||
image = "docker.service.consul:5000/library/traefik"
|
||||
ports = [
|
||||
"http",
|
||||
"https",
|
||||
|
@ -29,7 +29,7 @@ job "traefik-local" {
|
||||
static= 993
|
||||
}
|
||||
port "admin" {
|
||||
static = 9080
|
||||
static = 8080
|
||||
}
|
||||
}
|
||||
vault {
|
||||
@ -62,7 +62,7 @@ job "traefik-local" {
|
||||
}
|
||||
|
||||
config {
|
||||
image = "traefik"
|
||||
image = "docker.service.consul:5000/library/traefik"
|
||||
ports = [
|
||||
"http",
|
||||
"https",
|
||||
|
@ -50,7 +50,7 @@ job "tt-rss" {
|
||||
task "ttrss-app" {
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "cthulhoo/ttrss-fpm-pgsql-static"
|
||||
image = "docker.service.consul:5000/cthulhoo/ttrss-fpm-pgsql-static"
|
||||
ports = [
|
||||
"appPort"
|
||||
]
|
||||
@ -83,7 +83,7 @@ job "tt-rss" {
|
||||
task "ttrss-updater" {
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "cthulhoo/ttrss-fpm-pgsql-static"
|
||||
image = "docker.service.consul:5000/cthulhoo/ttrss-fpm-pgsql-static"
|
||||
volumes = [
|
||||
"${NOMAD_ALLOC_DIR}/data:/var/www/html"
|
||||
]
|
||||
@ -115,7 +115,7 @@ job "tt-rss" {
|
||||
task "ttrss-frontend" {
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "nginx:alpine"
|
||||
image = "docker.service.consul:5000/library/nginx:alpine"
|
||||
ports = [
|
||||
"http"
|
||||
]
|
||||
|
@ -54,7 +54,7 @@ job "vaultwarden" {
|
||||
}
|
||||
}
|
||||
config {
|
||||
image = "vaultwarden/server"
|
||||
image = "docker.service.consul:5000/vaultwarden/server"
|
||||
ports = ["http"]
|
||||
volumes = [
|
||||
"/mnt/diskstation/nomad/vaultwarden:/data"
|
||||
|
@ -15,7 +15,7 @@ job "vector" {
|
||||
task "vector" {
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "timberio/vector:0.34.1-alpine"
|
||||
image = "docker.service.consul:5000/timberio/vector:0.34.1-alpine"
|
||||
ports = ["api"]
|
||||
volumes = [
|
||||
"/var/run/docker.sock:/var/run/docker.sock",
|
||||
|
@ -41,7 +41,7 @@ job "vikunja" {
|
||||
]
|
||||
}
|
||||
config {
|
||||
image = "vikunja/vikunja"
|
||||
image = "docker.service.consul:5000/vikunja/vikunja"
|
||||
ports = ["api","front"]
|
||||
}
|
||||
env {
|
||||
|
17
nomad-job/volume/registry-docker.hcl
Normal file
17
nomad-job/volume/registry-docker.hcl
Normal file
@ -0,0 +1,17 @@
|
||||
type = "csi"
|
||||
id = "registry-docker"
|
||||
name = "registry-docker"
|
||||
plugin_id = "nfs"
|
||||
capability {
|
||||
access_mode = "multi-node-multi-writer"
|
||||
attachment_mode = "file-system"
|
||||
}
|
||||
context {
|
||||
server = "nfs.service.consul"
|
||||
share = "/exports/nomad/registry/docker"
|
||||
mountPermissions = "0"
|
||||
}
|
||||
mount_options {
|
||||
fs_type = "nfs"
|
||||
mount_flags = [ "timeo=30", "intr", "vers=3", "_netdev" , "nolock" ]
|
||||
}
|
17
nomad-job/volume/registry-ghcr.hcl
Normal file
17
nomad-job/volume/registry-ghcr.hcl
Normal file
@ -0,0 +1,17 @@
|
||||
type = "csi"
|
||||
id = "registry-ghcr"
|
||||
name = "registry-ghcr"
|
||||
plugin_id = "nfs"
|
||||
capability {
|
||||
access_mode = "multi-node-multi-writer"
|
||||
attachment_mode = "file-system"
|
||||
}
|
||||
context {
|
||||
server = "nfs.service.consul"
|
||||
share = "/exports/nomad/registry/ghcr"
|
||||
mountPermissions = "0"
|
||||
}
|
||||
mount_options {
|
||||
fs_type = "nfs"
|
||||
mount_flags = [ "timeo=30", "intr", "vers=3", "_netdev" , "nolock" ]
|
||||
}
|
@ -36,7 +36,7 @@ job "www" {
|
||||
task "server" {
|
||||
driver = "docker"
|
||||
config {
|
||||
image = "nginx"
|
||||
image = "docker.service.consul:5000/library/nginx"
|
||||
ports = [
|
||||
"http"
|
||||
]
|
||||
|
Loading…
Reference in New Issue
Block a user