Add celery and nodeodm workers.

This commit is contained in:
2023-10-10 06:38:41 +01:00
parent 18dc8aaff3
commit e353929eb7

View File

@@ -1,7 +1,7 @@
job "webodm" { job "odm" {
datacenters = ["alo"] datacenters = ["alo"]
group "odm" { group "admin" {
network { network {
port "ui" { port "ui" {
to = 8000 to = 8000
@@ -16,11 +16,15 @@ job "webodm" {
ports = ["ui"] ports = ["ui"]
command = "/webodm/start.sh" command = "/webodm/start.sh"
volumes = [ volumes = [
"/data/compute/appdata/webodm:/webodm/app/media",
"local/local_settings.py:/webodm/webodm/local_settings.py:ro", "local/local_settings.py:/webodm/webodm/local_settings.py:ro",
] ]
} }
env { env {
WO_DEBUG = "NO"
WO_DEV = "NO"
WO_SSL = "NO"
WO_BROKER = "redis://redis.service.consul" WO_BROKER = "redis://redis.service.consul"
} }
@@ -41,8 +45,8 @@ EOH
} }
resources { resources {
cpu = 2000 cpu = 500
memory = 2048 memory = 1200
} }
service { service {
@@ -57,4 +61,81 @@ EOH
} }
} }
} }
group "worker" {
count = 2
spread {
attribute = "${node.unique.id}"
}
constraint {
distinct_hosts = true
}
network {
port "api" {
static = 3000
}
}
task "celery" {
driver = "docker"
config {
image = "opendronemap/webodm_webapp"
command = "/webodm/worker.sh"
args = ["start"]
volumes = [
"/data/compute/appdata/webodm:/webodm/app/media",
"local/local_settings.py:/webodm/webodm/local_settings.py:ro",
]
}
env {
WO_DEBUG = "NO"
WO_DEV = "NO"
WO_SSL = "NO"
WO_BROKER = "redis://redis.service.consul"
}
template {
data = <<EOH
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'webodm',
'USER': 'webodm',
'PASSWORD': 'ura3quohguzeikaiCaab',
'HOST': 'postgres.service.consul',
'PORT': '5432',
}
}
EOH
destination = "local/local_settings.py"
}
resources {
cpu = 200
memory = 512
}
}
task "nodeodm" {
driver = "docker"
config {
image = "opendronemap/nodeodm"
ports = ["api"]
}
resources {
cpu = 1000
memory = 512
}
service {
name = "nodeodm"
port = "api"
}
}
}
} }