🏡 index : github.com/captn3m0/nebula.git

module "nextcloud-db" {
  source   = "./modules/postgres"
  name     = "nextcloud"
  password = data.pass_password.nextcloud-db-password.password
}

module "nextcloud-container" {
  source = "./modules/container"
  name   = "nextcloud"
  image  = "nextcloud:stable-apache"

  volumes = [
    {
      container_path = "/var/www/html"
      host_path      = "/mnt/xwing/data/nextcloud"
    },
  ]

  env = [
    "POSTGRES_DB=nextcloud",
    "POSTGRES_USER=nextcloud",
    "POSTGRES_PASSWORD=${data.pass_password.nextcloud-db-password.password}",
    "POSTGRES_HOST=postgres",
    "NEXTCLOUD_TRUSTED_DOMAINS=c.${var.root-domain},nextcloud.${var.root-domain}",
    "NEXTCLOUD_UPDATE=0",
    "REDIS_HOST=nextcloud-redis",
  ]

  resource = {
    memory      = 1024
    memory_swap = 1024
  }

  web = {
    expose = true
    port   = 80
    host   = "c.${var.root-domain}"
  }

  networks = ["nextcloud", "postgres"]
}

resource "docker_network" "nextcloud" {
  name     = "nextcloud"
  internal = true
}

module "nextcloud-redis" {
  name       = "nextcloud-redis"
  source     = "./modules/container"
  image      = "redis:alpine"
  keep_image = true

  networks = ["nextcloud"]

  resource = {
    memory      = 256
    memory_swap = 256
  }
}