From daa5a14f4eec824c9d3c3366a4bb7e1e38baebef Mon Sep 17 00:00:00 2001 From: Ian Fijolek Date: Thu, 17 Feb 2022 14:03:50 -0800 Subject: [PATCH] Add nextcloud --- nomad/nextcloud-bootstrap.nomad | 85 +++++++++++++++++++++++++++++ nomad/nextcloud.nomad | 96 +++++++++++++++++++++++++++++++++ 2 files changed, 181 insertions(+) create mode 100644 nomad/nextcloud-bootstrap.nomad create mode 100644 nomad/nextcloud.nomad 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 = <