diff --git a/nomad/nextcloud-bootstrap.nomad b/nomad/nextcloud-bootstrap.nomad new file mode 100644 index 0000000..4292886 --- /dev/null +++ b/nomad/nextcloud-bootstrap.nomad @@ -0,0 +1,85 @@ +variable "base_hostname" { + type = string + description = "Base hostname to serve content from" + default = "dev.homelab" +} + +variable "nextcloud_db" { + type = string + default = "nextcloud" +} + +variable "nextcloud_user" { + type = string + default = "nextcloud" +} + +variable "nextcloud_pass" { + type = string + default = "nextcloud" +} + +job "nextcloud-bootstrap" { + datacenters = ["dc1"] + type = "batch" + + group "nextcloud-bootstrap" { + network { + mode = "bridge" + } + + service { + connect { + sidecar_service { + proxy { + upstreams { + destination_name = "mysql-server" + # TODO: how do I get these to not bind to the host eth0 address + local_bind_port = 6061 + } + config { + protocol = "tcp" + } + } + } + + sidecar_task { + resources { + cpu = 50 + memory = 50 + } + } + } + } + + task "nextcloud-bootstrap" { + driver = "docker" + + config { + image = "mysql:8" + args = [ + "/bin/bash", + "-c", + "/usr/bin/mysql -h${NOMAD_UPSTREAM_IP_mysql_server} -P${NOMAD_UPSTREAM_PORT_mysql_server} -uroot -psupersecretpassword < /bootstrap.sql", + ] + volumes = [ + "local/bootstrap.sql:/bootstrap.sql" + ] + } + + template { + data = <