Skip to content

Instantly share code, notes, and snippets.

@f4rx
Created September 23, 2019 22:30
Show Gist options
  • Select an option

  • Save f4rx/2de622e029df80e73e7a71f07b2faa10 to your computer and use it in GitHub Desktop.

Select an option

Save f4rx/2de622e029df80e73e7a71f07b2faa10 to your computer and use it in GitHub Desktop.
nomad consul discover example
job "docs" {
datacenters = ["dc1"]
group "db" {
network {
mode = "bridge"
}
service {
name = "db-host"
port = "3306"
connect {
sidecar_service {}
}
}
task "db" {
driver = "docker"
config {
image = "mariadb"
volumes = [
"docker-entrypoint-initdb.d/:/docker-entrypoint-initdb.d/",
]
}
env {
"MYSQL_USER"="bookstack"
"MYSQL_ROOT_PASSWORD"="yourdbpass"
"MYSQL_DATABASE"="bookstackapp"
}
template {
data = <<EOH
CREATE DATABASE dbwebappdb;
CREATE USER 'dbwebapp'@'%' IDENTIFIED BY 'dbwebapppass';
GRANT ALL PRIVILEGES ON dbwebappdb.* TO 'dbwebapp'@'%';
EOH
destination = "/docker-entrypoint-initdb.d/db.sql"
}
}
}
group "app" {
network {
mode = "bridge"
port "http" {
static = 8080
to = 80
}
}
service {
name = "app"
port = "80"
connect {
sidecar_service {
proxy {
upstreams {
destination_name = "db-host"
local_bind_port = 8081
}
}
}
}
}
task "bookstack" {
driver = "docker"
env {
DB_HOST="${NOMAD_UPSTREAM_ADDR_db_host}"
DB_DATABASE="dbwebappdb"
DB_USERNAME="dbwebapp"
DB_PASSWORD="dbwebapppass"
}
config {
image = "solidnerd/bookstack"
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment