feat: depreciate consul and use nomad service discovery

This commit is contained in:
Nathaniel Landau
2023-10-21 22:18:23 -04:00
parent 041649cc5e
commit 5b426da3ae
32 changed files with 278 additions and 284 deletions

View File

@@ -42,7 +42,7 @@ all:
pis:
hosts:
rpi1:
ansible_host: 10.0.30.91
ansible_host: "{{ rpi1_ip_address }}"
ansible_user: "{{ pi_username }}"
ansible_become_pass: "{{ pi_become_pass }}"
ansible_ssh_private_key_file: "{{ ssh_key_location }}/rpi1"
@@ -58,7 +58,7 @@ all:
manage_apt_packages_list: true
ansible_ssh_extra_args: "-o IdentitiesOnly=yes"
rpi2:
ansible_host: 10.0.30.92
ansible_host: "{{ rpi2_ip_address }}"
ansible_user: "{{ pi_username }}"
ansible_become_pass: "{{ pi_become_pass }}"
ansible_ssh_private_key_file: "{{ ssh_key_location }}/rpi2"
@@ -72,7 +72,7 @@ all:
manage_apt_packages_list: true
ansible_ssh_extra_args: "-o IdentitiesOnly=yes"
rpi3:
ansible_host: 10.0.30.93
ansible_host: "{{ rpi3_ip_address }}"
ansible_user: "{{ pi_username }}"
ansible_become_pass: "{{ pi_become_pass }}"
ansible_ssh_private_key_file: "{{ ssh_key_location }}/rpi3"
@@ -86,7 +86,7 @@ all:
manage_apt_packages_list: true
ansible_ssh_extra_args: "-o IdentitiesOnly=yes"
rpi4:
ansible_host: 10.0.30.94
ansible_host: "{{ rpi4_ip_address }}"
ansible_user: "{{ pi_username }}"
ansible_become_pass: "{{ pi_become_pass }}"
ansible_ssh_private_key_file: "{{ ssh_key_location }}/rpi4"
@@ -102,7 +102,7 @@ all:
macs:
hosts:
macmini:
ansible_host: 10.0.0.4
ansible_host: "{{ macmini_ip_address }}"
ansible_user: "{{ my_username }}"
ansible_become_pass: "{{ mac_become_pass }}"
ansible_ssh_private_key_file: "{{ ssh_key_location }}/macMini"
@@ -117,7 +117,7 @@ all:
manage_homebrew_package_list: true
ansible_ssh_extra_args: "-o IdentitiesOnly=yes"
imac:
ansible_host: 10.0.0.25
ansible_host: "{{ imac_ip_address }}"
ansible_user: "{{ my_username }}"
ansible_become_pass: "{{ mac_become_pass }}"
ansible_ssh_private_key_file: "{{ ssh_key_location }}/imac"
@@ -129,7 +129,7 @@ all:
is_shared_storage_client: true
ansible_ssh_extra_args: "-o IdentitiesOnly=yes"
skimmbook:
ansible_host: 10.0.0.21
ansible_host: "{{ skimmbook_ip_address }}"
ansible_user: "{{ my_username }}"
ansible_become_pass: "{{ mac_become_pass }}"
ansible_ssh_private_key_file: "{{ ssh_key_location }}/skimmbook"
@@ -140,22 +140,11 @@ all:
is_tdarr_node: true
is_shared_storage_client: true
ansible_ssh_extra_args: "-o IdentitiesOnly=yes"
vpnmac:
ansible_host: 10.0.90.2
ansible_user: "{{ my_username }}"
ansible_become_pass: "{{ mac_become_pass }}"
ansible_ssh_private_key_file: "{{ ssh_key_location }}/skimmbook"
ansible_python_interpreter: "/Users/natelandau/.pyenv/shims/python"
ansible_port: 22
mac_arm: true
manage_homebrew_package_list: true
is_tdarr_node: true
ansible_ssh_extra_args: "-o IdentitiesOnly=yes"
nas:
hosts:
synology:
ansible_host: 10.0.0.6
synology_second_ip: 10.0.30.6
ansible_host: "{{ synology_ip_address_1 }}"
synology_second_ip: "{{ synology_ip_address_2 }}"
ansible_user: "{{ my_username }}"
ansible_become_pass: "{{ synology_become_pass }}"
ansible_ssh_private_key_file: "{{ ssh_key_location }}/synology"

View File

@@ -1,11 +0,0 @@
version: '3.9'
services:
asn-to-ip:
image: ddimick/asn-to-ip:latest
hostname: asn-to-ip
container_name: asn-to-ip
network_mode: "bridge"
ports:
- 5151:5000
restart: unless-stopped

View File

@@ -57,6 +57,7 @@ job "changedetection" {
service {
port = "webUI"
name = "${NOMAD_JOB_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`changes.{{ homelab_domain_name }}`)",
@@ -75,7 +76,6 @@ job "changedetection" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -73,6 +73,7 @@ job "chronograf" {
service {
port = "chronografPort"
name = "${NOMAD_JOB_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.{{ homelab_domain_name }}`)",
@@ -91,7 +92,6 @@ job "chronograf" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -63,6 +63,7 @@ job "code" {
service {
port = "port1"
name = "${NOMAD_JOB_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.{{ homelab_domain_name }}`)",
@@ -82,7 +83,6 @@ job "code" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -78,6 +78,7 @@ job "diagnostics" {
service {
port = "whoami"
name = "${NOMAD_JOB_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.{{ homelab_domain_name }}`)",
@@ -95,7 +96,6 @@ job "diagnostics" {
check_restart {
limit = 2
grace = "1m"
ignore_warnings = true
}
}
resources {

View File

@@ -54,6 +54,7 @@ job "freshrss" {
service {
port = "port1"
name = "${NOMAD_TASK_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_TASK_NAME}.rule=Host(`rss.{{ homelab_domain_name }}`)",
@@ -73,7 +74,6 @@ job "freshrss" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -87,6 +87,7 @@ job "grafana" {
service {
port = "http"
name = "${NOMAD_JOB_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.{{ homelab_domain_name }}`)",
@@ -109,7 +110,6 @@ job "grafana" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -52,6 +52,7 @@ job "headless-chrome" {
service {
port = "port1"
name = "${NOMAD_JOB_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`chrome.{{ homelab_domain_name }}`)",
@@ -70,7 +71,6 @@ job "headless-chrome" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -78,6 +78,7 @@ job "influxdb" {
service {
port = "httpAPI"
name = "${NOMAD_JOB_NAME}"
provider = "nomad"
check {
type = "tcp"
@@ -89,7 +90,6 @@ job "influxdb" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}

View File

@@ -82,6 +82,7 @@ job "lidarr" {
service {
port = "lidarr"
name = "${NOMAD_JOB_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.{{ homelab_domain_name }}`)",
@@ -100,7 +101,6 @@ job "lidarr" {
check_restart {
limit = 0
grace = "10m"
ignore_warnings = true
}
} // service

View File

@@ -47,6 +47,7 @@ job "loki" {
service {
port = "loki_port"
name = "${NOMAD_JOB_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.{{ homelab_domain_name }}`)",
@@ -66,7 +67,6 @@ job "loki" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -67,6 +67,7 @@ job "mealie" {
service {
port = "port1"
name = "${NOMAD_TASK_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_TASK_NAME}.rule=Host(`${NOMAD_JOB_NAME}.{{ homelab_domain_name }}`)",
@@ -85,7 +86,6 @@ job "mealie" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -57,6 +57,7 @@ job "nginx" {
service {
port = "web"
name = "${NOMAD_JOB_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.{{ homelab_domain_name }}`)",
@@ -75,7 +76,6 @@ job "nginx" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -55,6 +55,7 @@ job "nzbhydra" {
service {
port = "hydra_port"
name = "${NOMAD_JOB_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`hydra.{{ homelab_domain_name }}`)",
@@ -73,7 +74,6 @@ job "nzbhydra" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -54,6 +54,7 @@ job "overseerr" {
service {
port = "overseerr"
name = "${NOMAD_JOB_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.{{ homelab_domain_name }}`)",
@@ -74,7 +75,6 @@ job "overseerr" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -109,6 +109,7 @@ job "pihole" {
service {
name = "${NOMAD_JOB_NAME}"
port = "web"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`p.{{ homelab_domain_name }}`)",
@@ -118,7 +119,7 @@ job "pihole" {
"traefik.http.routers.${NOMAD_JOB_NAME}.tls.certresolver=cloudflare",
"traefik.http.middlewares.piholeRedirect.redirectregex.regex=^(https?://p\\.{{ homelab_domain_name }})/?$",
"traefik.http.middlewares.piholeRedirect.redirectregex.replacement=$${1}/admin/",
"traefik.http.routers.${NOMAD_JOB_NAME}.middlewares=authelia@file,piholeRedirect"
"traefik.http.routers.${NOMAD_JOB_NAME}.middlewares=piholeRedirect"
]
check {
type = "http"
@@ -130,7 +131,6 @@ job "pihole" {
check_restart {
limit = 3
grace = "10m"
ignore_warnings = false
}
}

View File

@@ -84,6 +84,7 @@ job "prowlarr" {
service {
port = "prowlarr"
name = "${NOMAD_JOB_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.{{ homelab_domain_name }}`)",
@@ -103,7 +104,6 @@ job "prowlarr" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -81,6 +81,7 @@ job "radarr" {
service {
port = "radarr"
name = "${NOMAD_JOB_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.{{ homelab_domain_name }}`)",
@@ -100,7 +101,6 @@ job "radarr" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -81,6 +81,7 @@ job "readarr" {
service {
port = "readarr"
name = "${NOMAD_JOB_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.{{ homelab_domain_name }}`)",
@@ -100,7 +101,6 @@ job "readarr" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -193,6 +193,7 @@ job "reverse-proxy" {
service {
port = "authelia-port"
name = "${NOMAD_TASK_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_TASK_NAME}.rule=Host(`authelia.{{ homelab_domain_name }}`)",
@@ -215,7 +216,6 @@ job "reverse-proxy" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service
@@ -238,6 +238,7 @@ job "reverse-proxy" {
service {
port = "whoami"
name = "${NOMAD_TASK_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_TASK_NAME}.rule=Host(`${NOMAD_TASK_NAME}.{{ homelab_domain_name }}`)",
@@ -245,7 +246,7 @@ job "reverse-proxy" {
"traefik.http.routers.${NOMAD_TASK_NAME}.service=${NOMAD_TASK_NAME}",
"traefik.http.routers.${NOMAD_TASK_NAME}.tls=true",
"traefik.http.routers.${NOMAD_TASK_NAME}.tls.certresolver=cloudflare",
"traefik.http.routers.${NOMAD_TASK_NAME}.middlewares=authelia@file"
// "traefik.http.routers.${NOMAD_TASK_NAME}.middlewares=authelia@file"
]
check {
type = "http"
@@ -256,7 +257,6 @@ job "reverse-proxy" {
check_restart {
limit = 2
grace = "1m"
ignore_warnings = true
}
}
resources {
@@ -294,18 +294,20 @@ job "reverse-proxy" {
"--providers.file.filename=/local/traefik/siteconfigs.toml",
"--providers.file.watch=true",
"--providers.consulcatalog=true",
"--providers.consulcatalog.endpoint.address=http://consul.service.consul:8500",
"--providers.consulcatalog.endpoint.address=http://${NOMAD_IP_web}:8500",
"--providers.consulcatalog.prefix=traefik",
"--providers.consulcatalog.exposedbydefault=false",
"--metrics=true",
"--metrics.influxdb=true",
"--metrics.influxdb.address=influxdb.service.consul:{{ influxdb_port }}",
"--metrics.influxdb.protocol=http",
"--metrics.influxdb.pushinterval=10s",
"--metrics.influxdb.database=homelab",
"--metrics.influxdb.retentionpolicy=2day",
"--metrics.influxdb.addentrypointslabels=true",
"--metrics.influxdb.addserviceslabels=true",
"--providers.nomad=true",
"--providers.nomad.endpoint.address=http://${NOMAD_IP_web}:4646",
// "--metrics=true",
// "--metrics.influxdb=true",
// "--metrics.influxdb.address=influxdb.service.consul:{{ influxdb_port }}",
// "--metrics.influxdb.protocol=http",
// "--metrics.influxdb.pushinterval=10s",
// "--metrics.influxdb.database=homelab",
// "--metrics.influxdb.retentionpolicy=2day",
// "--metrics.influxdb.addentrypointslabels=true",
// "--metrics.influxdb.addserviceslabels=true",
"--accesslog=true",
"--log=true",
"--log.level=ERROR",
@@ -357,11 +359,13 @@ job "reverse-proxy" {
scheme = "https"
permanent = true
[http.middlewares.authelia.forwardAuth]
address = "http://authelia.service.consul:{{ authelia_port }}/api/verify?rd=https://authelia.{{ homelab_domain_name }}"
address = {% raw %}"http://{{ env "NOMAD_IP_authelia_port" }}:{{ env "NOMAD_PORT_authelia_port" }}{% endraw %}/api/verify?rd=https://authelia.{{ homelab_domain_name }}"
trustForwardHeader = true
authResponseHeaders = ["Remote-User", "Remote-Groups", "Remote-Name", "Remote-Email"]
[http.middlewares.basicauth.basicauth]
usersfile = "/local/traefik/httpasswd"
removeHeader = true
@@ -396,6 +400,7 @@ job "reverse-proxy" {
service {
port = "dashboard"
name = "${NOMAD_TASK_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_TASK_NAME}.rule=Host(`${NOMAD_TASK_NAME}.{{ homelab_domain_name }}`)",
@@ -416,7 +421,6 @@ job "reverse-proxy" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -82,6 +82,7 @@ job "sonarr" {
service {
port = "sonarr"
name = "${NOMAD_JOB_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.{{ homelab_domain_name }}`)",
@@ -100,7 +101,6 @@ job "sonarr" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -66,6 +66,7 @@ job "stash" {
service {
port = "port1"
name = "${NOMAD_JOB_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.{{ homelab_domain_name }}`)",
@@ -73,7 +74,7 @@ job "stash" {
"traefik.http.routers.${NOMAD_JOB_NAME}.service=${NOMAD_JOB_NAME}",
"traefik.http.routers.${NOMAD_JOB_NAME}.tls=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.tls.certresolver=cloudflare",
"traefik.http.routers.${NOMAD_JOB_NAME}.middlewares=authelia@file"
// "traefik.http.routers.${NOMAD_JOB_NAME}.middlewares=authelia@file"
]
check {
@@ -85,7 +86,6 @@ job "stash" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -70,6 +70,7 @@ job "syncthing" {
service {
port = "webGUI"
name = "${NOMAD_JOB_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.{{ homelab_domain_name }}`)",
@@ -89,7 +90,6 @@ job "syncthing" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -158,6 +158,7 @@ job "TEMPLATE" {
service {
name = "${NOMAD_TASK_NAME}"
port = "port2"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_TASK_NAME}.rule=Host(`${NOMAD_TASK_NAME}.{{ homelab_domain_name }}`)",
@@ -178,7 +179,6 @@ job "TEMPLATE" {
check_restart {
limit = 3
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -55,9 +55,10 @@ job "TEMPLATE" {
ports = ["port1"]
} // docker config
service {
service {
port = "port1"
name = "${NOMAD_TASK_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_TASK_NAME}.rule=Host(`${NOMAD_JOB_NAME}.{{ homelab_domain_name }}`)",
@@ -77,7 +78,6 @@ job "TEMPLATE" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -82,6 +82,7 @@ job "TEMPLATE" {
service {
port = "port1"
name = "${NOMAD_TASK_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_TASK_NAME}.rule=Host(`${NOMAD_JOB_NAME}.{{ homelab_domain_name }}`)",
@@ -102,7 +103,6 @@ job "TEMPLATE" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -70,6 +70,7 @@ job "uptimekuma" {
service {
port = "web"
name = "${NOMAD_JOB_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`uptime.{{ homelab_domain_name }}`)",
@@ -88,7 +89,6 @@ job "uptimekuma" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -9,61 +9,61 @@ job "valentina" {
// value = "rpi(1|2|3)"
// }
update {
max_parallel = 1
health_check = "checks"
min_healthy_time = "10s"
healthy_deadline = "5m"
progress_deadline = "10m"
auto_revert = true
canary = 0
stagger = "30s"
}
group "valentina" {
count = 1
restart {
attempts = 0
delay = "30s"
update {
max_parallel = 1
health_check = "checks"
min_healthy_time = "10s"
healthy_deadline = "5m"
progress_deadline = "10m"
auto_revert = true
canary = 0
stagger = "30s"
}
task "valentina" {
group "valentina" {
env {
PGID = "${meta.PGID}"
PUID = "${meta.PUID}"
TZ = "America/New_York"
VALENTINA_AWS_ACCESS_KEY_ID = "{{ valentina_aws_access_key_id }}"
VALENTINA_AWS_SECRET_ACCESS_KEY = "{{ valentina_aws_secret_access_key }}"
VALENTINA_DISCORD_TOKEN = "{{ valentina_discord_token }}"
VALENTINA_GUILDS = "{{ valentina_guids }}"
VALENTINA_LOG_LEVEL = "DEBUG"
VALENTINA_LOG_LEVEL_AWS = "INFO"
VALENTINA_OWNER_CHANNELS = "{{ valentina_owner_channels }}"
VALENTINA_OWNER_IDS = "{{ valentina_owner_ids }}"
VALENTINA_S3_BUCKET_NAME = "{{ valentina_s3_bucket_name}}"
}
count = 1
driver = "docker"
config {
image = "ghcr.io/natelandau/valentina:v{{valentina_version}}"
hostname = "${NOMAD_TASK_NAME}"
volumes = [
"${meta.nfsStorageRoot}/pi-cluster/${NOMAD_TASK_NAME}:/valentina",
]
} // docker config
restart {
attempts = 0
delay = "30s"
}
// resources {
// cpu = 100 # MHz
// memory = 300 # MB
// } // resources
task "valentina" {
} // task
env {
PGID = "${meta.PGID}"
PUID = "${meta.PUID}"
TZ = "America/New_York"
VALENTINA_AWS_ACCESS_KEY_ID = "{{ valentina_aws_access_key_id }}"
VALENTINA_AWS_SECRET_ACCESS_KEY = "{{ valentina_aws_secret_access_key }}"
VALENTINA_DISCORD_TOKEN = "{{ valentina_discord_token }}"
VALENTINA_GUILDS = "{{ valentina_guids }}"
VALENTINA_LOG_LEVEL = "INFO"
VALENTINA_LOG_LEVEL_AWS = "INFO"
VALENTINA_OWNER_CHANNELS = "{{ valentina_owner_channels }}"
VALENTINA_OWNER_IDS = "{{ valentina_owner_ids }}"
VALENTINA_S3_BUCKET_NAME = "{{ valentina_s3_bucket_name}}"
}
driver = "docker"
config {
image = "ghcr.io/natelandau/valentina:v{{valentina_version}}"
hostname = "${NOMAD_TASK_NAME}"
volumes = [
"${meta.nfsStorageRoot}/pi-cluster/${NOMAD_TASK_NAME}:/valentina",
]
} // docker config
// resources {
// cpu = 100 # MHz
// memory = 300 # MB
// } // resources
} // task
} // group
} // group
} // job

View File

@@ -58,6 +58,7 @@ job "whoogle" {
service {
port = "whoogle"
name = "${NOMAD_JOB_NAME}"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.{{ homelab_domain_name }}`)",
@@ -77,7 +78,6 @@ job "whoogle" {
check_restart {
limit = 0
grace = "1m"
ignore_warnings = true
}
} // service

View File

@@ -122,6 +122,7 @@ job "wikijs" {
service {
port = "db"
name = "wikijsdb"
provider = "nomad"
check {
type = "tcp"
port = "db"
@@ -131,7 +132,6 @@ job "wikijs" {
check_restart {
limit = 2
grace = "1m"
ignore_warnings = true
}
}
@@ -225,6 +225,7 @@ group "wikijs_app_group" {
service {
port = "http"
name = "wikijs"
provider = "nomad"
tags = [
"traefik.enable=true",
"traefik.http.routers.wikijs.rule=Host(`wiki.{{ homelab_domain_name }}`)",
@@ -241,7 +242,6 @@ group "wikijs_app_group" {
check_restart {
limit = 3
grace = "30s"
ignore_warnings = true
}
} // /service

332
vault.yml
View File

@@ -1,161 +1,173 @@
$ANSIBLE_VAULT;1.1;AES256
35313363316633346434383462613564663535363536343964333334613031333931666535373262
3038666461646465333264346232366563323433373266350a656363346266343662303663346536
38613361633832393432343334636435363832313461303131323031633139376464666536613361
3537326464303937630a363031663065396530346539646638663163393134616234336263656633
30306236366333333437323733623266663163613763633338316630333965323832353930643261
63613065653565363238323933616139363961383865663330623133343537656433346564396435
66623437626639626365656134363538646137373061366563393333613134333035326461333161
65613638626364633165326630346230666131653063653766343534326533663233346234363535
30663366313761336564383962333562646638356466633536373233383538313238376534343466
37613734633963313237376263326530653165613135313739373561343463633837316230313132
62366538303836636336346138376163363933306365656332393532346366313438666537343733
66653531366231326464653764623562633338326639653438356630633035383433613364623336
34346233643435323331663934643037383231613232336639306138653935306563616237393437
34663034396165623763626231326136343530336261306230393431353361393239663766333632
66303561336237623866323232356236306361323965656261313731386638653564663235343237
30303036323736376636666339343539633566626337636433303533306262336532663065383333
66653662653134393866306639613261303463636438316135646437393563663731343063623137
63316537656664666463333766356630353236616339303862316234373236613932346231323137
61306666626364653535303061393938656565306339616662376537316361653435613763376364
38303062653739316230313765323063643564353032653038326631383933363263316332653736
30626361643432666139333034376363303432343864626530393637313063383964626664366631
37373234353764333361666439333462323833313432353337323661313264303732643734373234
65373765643062303464653937326236376263376561643133666663623937356538623730326564
64326165366463646635343565633130356136386266376138396261373162646132323631613063
38653633353134323633343430303561623730663834306565623735633734366161613734353266
65656163646538343439633832353132373531613962306564386363653339393963383733383562
33333662373639633462613561316133373037306264613934616438623362303831633733326431
61633237323338613636623865623036626566353762373966313766623533393861313530313862
66613935333861303835336430346235383466643163376330396430376664386337636364313961
65626337366238353437643736663962616439663630313332363032383330333239393036356338
38646165626332356337303064633334363337356432396638313032613431616364626436623238
38363032393439653663613261363335363534343137653137613332373839633662333030636662
34666137383165346431313664333436366637623632386433393363323336666232633233346235
61633037386664353662326533313862363832376539373564623365326330303437363163613733
61313134396565356366383330313734613036356536363561633361316262653833656435666132
63343236343837373665646662396535366530356163386439326266313038663233363561303039
32363639663466643834656535373834346530643863313963653233363435336436613935363961
33383439613066333034386630653032643131393535326133356639346639623430383063303361
62323230343731643531613031363265633739376639383735366562626561333162396137343332
37393061623234663230643939326436363961386664303430623435346361373136323866653262
37353637356233643833373336303730336132623262333734363338336333316332383264343233
66633466653831343035306539666337336633663637336331643463666530333737643230396632
38323165316138376536333337656462396363643437393037383565323935363830313532313661
37373461396333353166663461313562646365333735353531633432376565326637616231323566
38373966656164646436346331633266653634653833333831383036613864393133376565653863
65306364306232356434653539303066393264636661356230623331616430306661353731313138
62313734303939393530306364393830303039663637383637353738623730336330346236613337
65373337646634613935333962393632376236306639316631356437303466363937353436393138
32616337323163616562666538386563396136646131356439616437366134613238336265306432
31653361613966363432336635623865366335353439623633336461366337393435343036393539
61363262663633366136303132333066316430316235616165646139383835386339376366383766
35306365316662396666616537633365383236666538626131356162323831616165356165353532
32396163633962393331653836353832376165613163336335386662333730626263623761303464
66396661643338613262316537396162366433313864616635343965383331343662396236393834
38313761653264343061666337343363653731393435366335323537613938313564613436383530
61623531383331343232663431306438636465343262353535396439656464336631353462623934
61383334613839393432303336613135316638613634316664653262663862356239336462643534
34323566313964346231303631313239393263623362633966613961613566316239353964333765
39633033643335393637363138326533336464323836313332383765643366313962383332306338
30656661316633366365386365636161613765333737613134333861663539313463626365363932
38366531326665316435663363356532303936313734613462616232316665356435663838306338
64346538663266613966613766376662663032633764616161303533336561646636613032383933
63396336353565343364356532363433623466396232333739666666616136636234616164363938
39316536343563343138376166653761613739366564623161633261636133613631346138613734
66313362633738313736333930666538313833666431303462643938663732323166306662306665
37623231316134323965633766376561363234666330326139663763353038323064306231646230
64306365646633363434363064623435653166666337353932623663303634366163383337306465
31383463363039306233336335626635393931623061346364633935306432373432346430366336
36626534633664356266316634363165386365366562363237636532393639343539353639386466
37633438633234393433633337303130306464356139613132623839363833633532313561323330
65353064386239383934343563386366653161623830363631653435653537653831643234363435
63613338303264626339343136346131333062366632623730376532653362386136363938343761
39363039383535663666643236363964643332363131633134316631633337666235656334343366
38656430663337313231623134333232393730343063653432383530653865633137363866646434
31386337353831383434666466326364363562316538336633366361376539316465623331643431
63353333633563646633356639633066353134623963316133333165323965653666346530656536
32303235376631343931306361363937363262343664316239363766663961653465623862643461
65626434316135373333323230616137636264306437383332623261633662623632346139633038
62393161383931626533303162363166373330653739643935653039356331346237373139633163
36353361666330346137383337383362336664633535643535666536306537626532303432393734
33656139336437346333383539383931303932353462643432643366303366666134616539633339
34313261393863366435366130373737373237343232646462373336616539316565376465366136
38343032653532383433613863346366313064383534366364393132346538663531383531323963
63353962323964333466386530316438623735356335653430376630313564626630353365363634
32353636663734653232623964663730383263366164613937663761613634303561643334323164
65336366316261626130313530393739393966623863613366656461383636653435316166366434
65663763356162646530366462636262356237643163336561376531306639626235656430376332
65353039613566633561643365396664656266633831656263643261383133373734613532316266
30386237393437646264386239613130323164343462393134653132666533306638323434336432
39336332653661363435663662373231643931313036613733666464623538616261666433643961
66613430363664363838663263313063323835386638636239316164646139613536336332336635
39663730306261303538613066643137313437393366633531373133363866306132353435376462
37663765333438656535636336633030336330383262663239313862396137666530643532636637
32643364326563386437353062303534356363383237396264306139363038326134623835373234
38336366616561643034326234346261386564656433663634613637356338363037333461303232
31653963376338386236326631643835376234356434336130393831393865383563663033663761
38623637353536393162333138376662373862636431323663623461353332363361376231393166
39633766353863323364636538623432306230653638306435336465633939663164376664383735
37366537343734363361316235313633626436376139383336313736666435656638366566323166
36663832633933346336653435393538643834393665663434326230346135306332373966646331
35383937353830316465656661663231623532636462663530346333663934333335613831323838
66613964343031646230366633656436356534633438386134313562383462646131333435346136
38373565326333376137376537303433383335306662653765656564396464336363393937663865
64393933336165306463393162643435663430343461316231656462623037333766613830323938
39643263353235363364306135623364333330633235346236313939316533353561343066653030
66666537636264346361386561633737393561316665316462633437353033623039343263363535
64396564386666373137643763396130306434306433373937316262306231643332396339326438
35623231646535306562316231366439363766653338396539336161343663623564346539643865
32323234633035643965353065386433643438393731663563363462353662356630316638363030
64656338356132616331636437636364396635613164343264643432633662343732393366653639
35666464663963396234333635303263363564393065356234363638636430623035346234333836
35353936373664636331366362336466393363633561373538623463343636346566316561653033
34396665306330333265663539393638383639303466373432383931636361346530303239333162
61623233643537386164623433636434646166633131316134356331336230646439616438333239
64386664643365633330633365646135373961386362613034353835303531643036386364646135
33613264366337383532663461663135326633643739396162383630313237623165376362346534
32363663656238616265646331393838316466663838653138353934356439616630363431386636
30623364393433313236383934353564356238316432343034313030613665363234383765303063
65326434643630646136656535646562303261623133303833373465663736646435376335643331
31653564333063646161663731316564376432663330623861306161643361636362313436643764
35643738323065626334346333616236393462363734313237393034343332316232383466343163
38363366336136623735386666653535323632363138653966646265666662326138356364613063
62383338623861393633646164393263313462633236666236383537323564383039636261626532
62396232363137663439653165666461663965613366373631653032366361626163643634666537
34656263613934303066643339343537383339393864306236353536313133346630613038346638
66383466393466346232623331303038663639333765613366343338396264343766663336643633
65653535666135656530323036666333376663316436633334356162343936636139346332316536
37343831303238393466666436396133313236363531356263326630393636303763616433666162
34306533613430386134633636663137663036366531663061303865633630633965613134646564
30613835616234353239363735366139303339326137633038616465343837666533616164386339
65373866313664653035343063656437643930316130316130666662626130373463326365396530
36313931363531636335366532373539646530623439326331616431333463393932343661653236
35373061306665313938353565626537333963613065363630646531373133613362616238653736
32656265326633623265396630393134643566636662363963393230363333666439613032363630
64323630396561353065363462396331666637306637613833313962303838653637386434613233
66353461303735386432656330646662363634643438343766646436386133316263643735623336
37376434356537313431306539643533613932323537386230373362396135636336393362336430
65326266303337393063613766313062343835333735373563626361373263353563346331663435
34353462656330326232303935383831366534373336313233663635643638326565333834363839
33346238383538303464626439316361646265393631646261343736356362616262333566366363
65383436626464363665616161636236666430393666353236333538383265313535383634366330
30363633333465336363653766333231363633626335356334336561313438336665346664356562
30356232326637616663316132356131396564363638636633623638386266336263373462383361
35663835333736336632646164356161303131633766353238666464653864366437303665343066
61373539383632613837346266393932613837383732373037316634396235373731383131623764
39383333356431613565366431653138646366633434353431313738653631313565333465363364
31316232363735383864386661303939313231663862346636643834346138653038636433373537
39343363376639626134356139363163656662343835626366353564666461636462666661656632
37373166656661653961303731396234336533316162333465626232383061656633303066663831
66653438393839366162313936623766653735613038366363366339643632313639636562316663
38373334626539343136363165626530353334623062336265346132326533336338303935616137
65393763353131613638326131633032363936313461633031326339353364363062346430316632
34313833616662396166323636623938303832353763373264373362646565356534316138303530
62326463383436356237626565346234363036373236356564643435643061663763653165626465
32366362653231663239626135366638633034643838613362393862613663336331373365303666
37666332626630343062626535366564393332323034363738653664393338396135393437383961
64333634346436326638616634623237383933666335663236633039346265383530663936613332
66316131323030363662376435343738616233396261653632636333663536303438353738313433
64666437346663623064326563333964376465373565363431323631376536313234356338643663
61343730396234393361
39313861663234643032633062353534663132376138383331363733376365343161363737303337
6538396233316636663734633462303934623463666466380a656234333664653234393637663661
39393433633634333965343838386338663132386164623764323738663463646366393565656162
6337383264303032300a613734633138633265363361336537663739393935373632303466626434
62336337323162356464386630663739633434353261323364343066643937636631373735613462
63363638366464343739376563353034326537626565636565376337636161666633343930336639
37383265636533353731333461393136343634646633366431396333313666323232643061633436
31396134366563353739333464373433386331316532613731366466376630633231373039306564
39323937366239663437643162636364366464623632393461343135616361636138373438656633
34643064643265633035356136393165616166323732646233306664643639323433663866613337
64386462353435656265613139393163343239386166376339373862663337666263393839613531
30646265636161396330636230643534646666353663356166343664326361353464336136623038
61353166343461303833313130356238656262646436353135386631356636386161323864373539
62623965376261623233623163613838316637356362383831316332646533633161356438353266
32343062316330366164396439376561316236393434363963623639376266376365633232353864
35343939383539626136353064366438373538383964323765363733396261633739623031353062
33643965333230333530623764386534356664666637633463623665313466633566313033313837
37656133356163626136326362313633373833366461376564613634633064613139346665346134
31383739653039323031323830633435363137316535623835303431386433643830313435636432
37303632373136326430393437663532313430363233363466663939373538643365613663393235
64376132313063313631393233666564313932363364326337623836363933633138623762353236
35323931363338363162663039663965333334613062663231663734376262333666333766303939
37336435653962306436643563633739383464393363633037356434353463353632323432376335
63383462333338386131383136646265626132636338353530323864663338306435653939623436
62383964376632613230376335313931613936346364326533323333376366626439396535313161
37633539653334353232613530613238363631666461383637313330383939346663303933396433
36356264623335333838376365363662393265626665343035633033383263363934653535663635
65323431333661356437633863353532333161643035653137623232353739666139656132383731
36346538613064326238633832396364386361643537386363653261373762393239303061313363
34613039666165333734383634613232636461616561306532666532343366643837353138653232
38643361346532663465386261653166616539323663343535636461643130633335353136643734
34343635333161613934636336316338326637306336636434346336633164666133353732383337
39353138626239623439623564356261353632323934346163303831666261363338363232383734
66336331363165623534363839313939306133336664346366383638633831646164313839316163
66366331363262653134663034323435626534613130363238626263653033633262363636376363
66353730623030366361346530363238356239656564386638383835663539656237333764356363
62663036366261323763633732643630623235383831303062643962366633633734613836393030
37386134343632393765366666343065666634316530363861306462393736663530393439346363
66386537396139666265653338653062663161346132636337326138646639326631343164376430
37323865616636646564356332663138623135313661616332343966333631333066663031333666
31613564346663336436323439366664633862336663646431363436326134323466393938613061
66303863306463336231396562653366386231396633646339383332313563366662323965393130
30306564316530666261636461613336303030326262396461376232313333343935373565656239
33626138656439393064626661633266323461303934356436306463636232613639623634346437
66653234393936373031393335386436323362356162353732393333663037306237313361646462
39386233653937623431623965623764303834376235373636396536323263333562366433386231
38653466396237323737323462363965373739663135343436353835386137313264323631656465
34613137613966653537636666373263353164633033346666626332343737653262383066613233
65313430633830393364613866383630613635383161313666623531356464626630353566373762
35646339306530333631666537343132353838386432656435336633613332363138633539313534
35333161633563656135393933333037643266373435643633313832616239333133616666383433
34366530663439383263336237616530373636653633613331333331306562656238363364373738
62313636616163363132383863383138333838646462613532393334303466316264373361343639
65666562313866663561306464356235633435393031303164386533306165653361316363303931
66636234383634306366353266633862373334633837306535306338623363653165666136376262
31653931663764613933316137623637383030323039363933663638323266373531666631303063
64613361326233303964643264623832346334623063313564363932313830633432306235366630
64623565393262303032343135323364363965373465383962353439343838383362393737353366
33623737313037323764633462393062613561626638303431326666626232383266613936383738
32336238366230643436363061343762646336643362623134386137313539336166616138376464
61636666626332363936396661326462336539343962663930303066616566336666333030326632
38336663333864366432613236383361393131343466343665666334373331393039336239333338
36306434313836343538346133653830306535323636353162363963356562643134363134613666
32306663353435623135653638656530376234353336633963303032363932316438653233316634
63343166306237303262343932666661326130366339353534616663306165633032373532643237
30313730333563616666373766316331663135313265343637383035663237633536323733613837
32313463363961333235646565393065626638633330373136643863336661323636306137383639
65313431386637393365626537363862636561623032653962356438333961363563353338633961
32363731373564326339623038613632323837343439626233383265666534623432343637353932
39623736356131323735666366393831376433323261333731653739356565323035363761666230
62383365663531633564623933386639633165666165303231336163636433346234313335346534
35623231393464333333306339663938663334363062366333376330636538666331323961376633
34326262366531346632323466623936396265656663613339373735313134376563333464363763
31326638316237333336643433383862633863316334313736396636626262633936623534303166
61393432316537623161393330333336303238356365303364373736663433336235383965353065
38326531653363373634313864646538663135326535643733353165313766306433353466633564
65303964306164663962636339613832326637383930323564626331666230646466313838636262
36313536646436396461623738373533373361306530393464393134663837396162633262323966
36643266356239633461343132613865636362363061366134356131353631316561363734333934
62656437666532646636626533356261653639343931306262346631396161616630613565353665
66613939353635363637316163356263353065306561613361616235646230363831373736343863
62643761636165643865666661646561373464353965653738346434383364313865316565653732
31633335633661656532363637303339653732323032363739356364616236373933316465636636
62343563626338393030373134613235623763313933663430343630666663366662373266303063
36313664383963616337356331363066383136393965366461376661646363653336303337383262
63313265336332303264616331643731346464623935363966633466313964313139666437633536
38303361376362653132633963303061386634303331383665376532343035333933343536613730
38303065663734316434643461636461386366353664343036346131616436303439353034306431
34303666653730613034316639626339656336303431353330383139623331666636633430616266
65313731653536303936613663616331313733356432396231313233353337353332363862333038
61663936646338373430623164663738383334316139653631656239313737623030643566616163
62666138663262383534393863333962326135616663396463303733383831323164633938656133
36356630623534313037313035613535613739616563333036353733353930656538303338316164
61343532653535306231633566613235663661303835373866323365386439386266313436613838
31366533323163356332383166353634653737646665356138373763336662393130346232393434
36393163366530646530303535376234306435393063393031353861306230663434666434383066
36303737633864343536313265383337333030383137643138663264646335623566326662663262
36353135393765303564653362396130636333313432656361393439663936653437663863346365
65616538313663333731303739643131356134616335626566383362363763646533363265323937
38336462333062383564646266376562373666393336393761643732633762313432333730646237
37316334663336343238303238636239623964623339333139336238396533323762333936363037
31343565616564646466336137616663643362656530383465316331326366376661346138373336
32396163393632613139623730633836646130383735323661303031646238383938383734363733
31386661373032623161383139323032633263383937386134333731626234343437393834643865
36646534393263323665343339626134383531343161656331646631333765616635323536303464
63323337613666306363643765636133633130323733343135333765633631346264316364616335
30373964333833393261363535633135383963363138333839313834396236396665393537663837
31373233623830663338616166356666306430303135353865343134633337366666663439366235
33303766666232356362396431356336643130653033346565666163346537373362363462666138
38626564386637633137383831356632383333633336663734646538383139303437663332666133
37393461306532633664353163313363323732666234343662643136353766323362393835303064
61353338313933613931643030663730303638313934623131343933366434386232356564386432
32393464383765333437376135366234616564333035393031626131643461623833313130313839
39666131363632376663303530613135643936316633363034326437666166353666356263343062
36393938643033636538343261303134353863666638373565623036343231633732343366313031
66316630613531323638326232396436393362636435373032303662623731636436313332393731
30393431653036363636316264316335393764383730383362626331336133333931383232613363
35303034653664303732363564353331663861643332616437386465393532623732653033663162
64613936333063666365326562656533343262376131396236303831373564353437343732653632
30623931363966313462383336306637353537663639386166646561393336326139653230663262
30363265386166313633653939633362666131323063383331333133663161353434636530313430
64363166646236313234643565626466366333386332656432363131393639343836336234353736
63633762636137663636646562633466343262386565653232323534343332343239393630613262
36346337666131356362363265393239333436336266383363386165393132316661323066306433
31373131376463613462616662336364393539353639613463393033343437306565313762623734
37343031663934346532626536333666386237613835323064313139303332653963376163313136
35643864613630636131353065393736373534373633653438323661386631383364633533303632
37646438386531373630313234376534336531626666633337346561353935373933663331653862
32633939373762666264303965656565396338303265366438333630343639346238383531343161
38616437323237343032353761323362663062316430316236383631653763326565363633633764
35343535613238393230643663303735363031313334323762663935313239653434653934336133
36313563666530356165303739613434373964323966383037323932316438393938383435306236
66623466643534396263666130396165333565646232656637643937323439343939643230333138
66393761626265313133346465323430643362316662636338333835323430643936343064366430
65646532316262643662386439633831626337383236336265383538633362646166303432303532
36356237343361303634323132633663353035376337303932666439666534646466663137303135
30636436353661613234343530366163323934376430353266643561633831396537396432663435
36656238653066356362666162373161333762366335383032383665643961326665326136313035
33616665616436626238383030313836363365636465386530346137386165326236326134373938
34336237356266646330323738646363373939396466353132373135303063623561386536623136
30353966613235666565613165626463666237666664356530616630633931363436643734333531
37393335623033323531663364373932373462633336373937376565323364653036303265363735
61653666626263366231663566323633333565343262663964333636373863396632633961626539
64336234373531633165663030363666316565663766383835313732626366323265663731616430
36633734376536346335616630663935383564633833343061383033396438336332323062393435
62623965343834346563626664613736393561316461636636373533633037363234613230303136
33323366646132356334336431653539353465666131313966306636353161333338616634393930
62643062393166303864383839343565303836306262363230623761393139333666363331346363
39353038373033326336383364396365646430363034363936633738653038646335326233383137
61343632323530323663356237653637306136636433383938613430343566383239653832653365
39383634633636366465633765353866636362656163666430656139373331616234313539366532
31653163383330626363323931373938663236633762326564633639356661393832383330353239
64363164656635396638363031663665326361353530653864373437343737613239653130323038
33316263363839323234366233396138653765643933346434396436613834643335313732626430
63306536663464393863613735356666656336346530396666626337666134333664383964613131
39383366643534363964623330623932396264646238353839396161393837383266633834656631
66313464313932303666353766393631376339386361653033633134643237623537356138663566
66616133343062306163386562623732356334376162356439663564663531366334373433386533
37336430653465633238663535633462333230323463306331373531303131626431343034396538
66333266396639343462333261633435623834363364396664363666633231623537666630663930
64383732343132643766393765616230336562633237396237316263633561366463623963316232
36666137643433343663376366653166633935383437393033653566323638636336363665383464
30663236326262303361356437303465653238303434343031336130303933303463386136303831
62326638373333633730346336643861636262373733353965613130366465313437613463356562
32356332636239326131386463386166626262376634643131663365333434383663306437346461
34323766383134623361346166656636636636356562646137306130666438376361333763373934
64376166336565303866303130363539396331326236363665643031373031363637656161376565
62383834636661623061336262353431316436653866303932663833323931633338366636663634
30346631316266393131323866323539643331343032336335303663643137376239373736343563
35366130656163336138653433333237316337393339333534323738663133666531373232316534
39323262346639383134613533616166636131303332353433643031623161626631376362333861
31613735393835626338