diff --git a/ansible/group_vars/all/main.yml b/ansible/group_vars/all/main.yml index d382828..61e1061 100644 --- a/ansible/group_vars/all/main.yml +++ b/ansible/group_vars/all/main.yml @@ -7,7 +7,7 @@ admin_email_address: amarpreet@minhas.io hashi_arch: amd64 # consul -consul_version: 1.9.3 +consul_version: 1.9.4 consul_domain: masked.name # vault @@ -64,7 +64,7 @@ nomad_version: 1.0.1 nomad_podman_driver_version: 0.1.0 # podman -podman_version: 3.0.1+dfsg1-1 +podman_version: 3.0.1+dfsg1-1+b1 # lnd lnd_version: 0.12.1-beta diff --git a/ansible/host_vars/ivyking.minhas.io/haproxy.yml b/ansible/host_vars/ivyking.minhas.io/haproxy.yml index 6b12356..8f3f675 100644 --- a/ansible/host_vars/ivyking.minhas.io/haproxy.yml +++ b/ansible/host_vars/ivyking.minhas.io/haproxy.yml @@ -6,4 +6,5 @@ haproxy_domains: - { name: "wallabag", url: "wallabag.minhas.io" } - { name: "kanban", url: "kanban.minhas.io" } - { name: "sudoscientist-go-backend", url: "api.sudoscientist.com" } + - { name: "nextcloud", url: "nextcloud.minhas.io" } ... diff --git a/docker/nextcloud/Dockerfile b/docker/nextcloud/Dockerfile new file mode 100644 index 0000000..c0c1ee8 --- /dev/null +++ b/docker/nextcloud/Dockerfile @@ -0,0 +1,8 @@ +FROM nextcloud:21.0.0-apache + +# Copy masked.name root cert +COPY files/MaskedName_Root_CA.crt /usr/local/share/ca-certificates/MaskedName_Root_CA.crt + +# update ca certs +RUN update-ca-certificates 2>/dev/null +EXPOSE 80 diff --git a/docker/nextcloud/files/MaskedName_Root_CA.crt b/docker/nextcloud/files/MaskedName_Root_CA.crt new file mode 100755 index 0000000..31f76a9 --- /dev/null +++ b/docker/nextcloud/files/MaskedName_Root_CA.crt @@ -0,0 +1,43 @@ +-----BEGIN CERTIFICATE----- +MIIDNTCCAh2gAwIBAgIUYp8xo5t2lJFP3SiD1fJirgGUQJ0wDQYJKoZIhvcNAQEL +BQAwFjEUMBIGA1UEAxMLbWFza2VkLm5hbWUwHhcNMjAwODI5MTkyMzEyWhcNMzAw +ODI3MTkyMzQyWjAWMRQwEgYDVQQDEwttYXNrZWQubmFtZTCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBAMI7oR+KHvvznfnaAXDMO5qpSTCAYCyfjFEohYJf +lOcnLONXb3f6sP5d1eltL+UTq0RVU5UP0aNW7hqDTa41MRw0JCDtB68yKdYq2hZf +97gA+lj3MEJU6RTAKLrg75GRh/AbNEIgwvPuHKW6hMbtwOyM9DFU//W3xpusalXy +RMFzAHfSDj9ci+UygUt9HINWd/SmMGG/8PghaRhfE44wRFMqYezeliIt2JIs43BV +7HqG0Oev9WPeXmiaZUYKQetHiQqR14Mxiv1IGzCmwwN+9b4tZtZTa58oM5dPXfbb +lrELQE5OsPaNtMtER3MgxovDN3VSCGH/O/GyaEWVanY5UF8CAwEAAaN7MHkwDgYD +VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFBY8jW3fDVUp +URt1prhmDMjkVikgMB8GA1UdIwQYMBaAFBY8jW3fDVUpURt1prhmDMjkVikgMBYG +A1UdEQQPMA2CC21hc2tlZC5uYW1lMA0GCSqGSIb3DQEBCwUAA4IBAQAWQz4d3QzE +W8NGA16ZPamlVubOLB5DtZz2qrSrn3DeObLIDShInV3qtRlDx9HYJLTCA75Ket0J +NTsyMcTy2txd4I8hgdF30XJeEciN9wZ0mKEeP/YKDwe8V2XwWq4XYkDechlWHpZo +PfWcoLprKwVUI4HzaqkNmwcmMUI4xAsC+SLe1mrebseKm49oOwdQs/oPVLK+0nEp +RvD0aOvohILIa/2ZtKczvhB/L3fo5pg9Ex/0JDBdDHIedMabD3qn8Idse+P5Dfwa +Ju2Ctyb+n1TTPxRDMxs2cFbA5irr+2ARJd8jtGS+1fyxogjOWS1RR523F+qIS3su +KibGel+gFPpq +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIID0zCCArugAwIBAgIUM52uhXSeTCim1pmzucm/cnIgNp8wDQYJKoZIhvcNAQEL +BQAwFjEUMBIGA1UEAxMLbWFza2VkLm5hbWUwHhcNMjAwODI5MTkyNzAwWhcNMjUw +ODI4MTkyNzMwWjAtMSswKQYDVQQDEyJtYXNrZWQubmFtZSBJbnRlcm1lZGlhdGUg +QXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8LuGo+As +ICYWdJjBCY0snF/X+jF1tdcrQzNiRKESEb5dsDiy979bugCblPQDQ+g5WGqXX4pj +UyZZE3ZwhOufISlGK0ow1aMjqS+pFlQ85KRD/jUtLPRUJuQF+m2YwId/Mg6/B7Qk +d166uJkNxS+MGZCi2OYXeoivnOY7Q0Kj/0vIbc5Vt3kCRVg2ljLSQhoBd+85AHMR +jeRjZMeYEYF2HTVwrg4DrC/r00MVtDcNqs6+M7YZ/rzny73GvfJWfWoB1C4piZlg +fvUcSDL5HAhjiu5cSeIR7DTuVx7t4PoK6AqUkPygDtq1ZaLybXT7X6d072dR5AXO +nWFLPaaGJ979iwIDAQABo4IBADCB/TAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUIkhVYBaK9CcvXG8FM2jKVZ16oZAwHwYDVR0jBBgw +FoAUFjyNbd8NVSlRG3WmuGYMyORWKSAwUQYIKwYBBQUHAQEERTBDMEEGCCsGAQUF +BzAChjVodHRwOi8vdmF1bHQuY29sdW1iaWEubWFza2VkLm5hbWU6ODIwMC92MS9w +a2lfcm9vdC9jYTBHBgNVHR8EQDA+MDygOqA4hjZodHRwOi8vdmF1bHQuY29sdW1i +aWEubWFza2VkLm5hbWU6ODIwMC92MS9wa2lfcm9vdC9jcmwwDQYJKoZIhvcNAQEL +BQADggEBAK6HMgR+hpwjZCmf5NszDSHr7dYKZXP4LrcHPWs94nLM33UZ572ubGHs +dKjRw8YD0cncrsypsYmEgR57U+DHkys394wkb7UOwy1Zvd5IIRXdP0cDylz0QzqM +APnQYN+ismkoljhk9ey0Qbo3CmPjM+UQcAxuZQtA4M+riC1+jkude1uYL0szC6Y9 +4KetfvbNkedSaV5yJaRKCBhRcC4/GjpBG/odQ/5AfBPAFjZqhcIJWBrVYbTQVC79 +hMA1iwWJPmT9LsjMSUfxFTPzxRnNXQiKFz5kT2OiS1nqh8aOcyU9YC928pkifNJV +KokuDezJFM7ie3d+EcBk1V9lHwOWdto= +-----END CERTIFICATE----- diff --git a/nomad/nextcloud.nomad b/nomad/nextcloud.nomad new file mode 100644 index 0000000..2ce59bf --- /dev/null +++ b/nomad/nextcloud.nomad @@ -0,0 +1,74 @@ +job "nextcloud" { + datacenters = ["columbia"] + region = "global" + type = "service" + + update { + stagger = "30s" + max_parallel = 1 + } + + group "nextcloud" { + count = 1 + + task "nextcloud" { + vault { + policies = ["default", "ansible"] + change_mode = "restart" + } + driver = "docker" + config { + image = "docker.service.masked.name:8082/nextcloud:21.0.0-apache" + ports = ["nextcloud"] + volumes = [ + "/mnt/raid/nextcloud/:/var/www/html" + ] + } + + service { + name = "nextcloud" + port = "nextcloud" + + check { + name = "nextcloud" + type = "tcp" + interval = "10s" + timeout = "2s" + address_mode = "driver" + } + } + + template { + data = <