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

resource "docker_container" "gitea" {
  name  = "gitea"
  image = "${docker_image.gitea.latest}"

  labels = "${merge(
    var.traefik-labels, map(
      "traefik.port", 3000,
      "traefik.frontend.rule","Host:${var.domain}"
  ))}"

  ports {
    internal = 22
    external = 2222
    ip       = "${var.ips["eth0"]}"
  }

  ports {
    internal = 22
    external = 2222
    ip       = "${var.ips["tun0"]}"
  }

  volumes {
    volume_name    = "${docker_volume.gitea_volume.name}"
    container_path = "/data"
    host_path      = "${docker_volume.gitea_volume.mountpoint}"
  }

  # Logos
  # TODO: Add svg

  upload {
    content = "${file("${path.module}/conf/public/img/gitea-lg.png")}"
    file    = "/data/gitea/public/img/gitea-lg.png"
  }
  upload {
    content = "${file("${path.module}/conf/public/img/gitea-sm.png")}"
    file    = "/data/gitea/public/img/gitea-sm.png"
  }
  upload {
    content    = "${file("${path.module}/conf/public/img/gitea-sm.png")}"
    file       = "/data/gitea/public/img/favicon.png"
    executable = false
  }
  upload {
    content = "${file("${path.module}/../docker/conf/humans.txt")}"
    file    = "/data/gitea/public/humans.txt"
  }
  upload {
    content = "${file("${path.module}/conf/public/robots.txt")}"
    file    = "/data/gitea/public/robots.txt"
  }
  # Extra Links in header
  upload {
    content = "${file("${path.module}/conf/extra_links.tmpl")}"
    file    = "/data/gitea/templates/custom/extra_links.tmpl"
  }
  # This is the main configuration file
  upload {
    content = "${data.template_file.gitea-config-file.rendered}"
    file    = "/data/gitea/conf/app.ini"
  }
  memory                = 256
  restart               = "always"
  destroy_grace_seconds = 10
  must_run              = true
  networks              = ["${docker_network.gitea.id}", "${var.traefik-network-id}"]

  # This doesn't work.
  # See https://github.com/terraform-providers/terraform-provider-docker/issues/48
  # lifecycle {
  #   ignore_changes = [
  #     "upload.2151376053.content",
  #     "upload.2151376053.executable",
  #     "upload.2151376053.file",
  #   ]
  # }
}

resource "docker_image" "gitea" {
  name          = "${data.docker_registry_image.gitea.name}"
  pull_triggers = ["${data.docker_registry_image.gitea.sha256_digest}"]
}