job "lifefaq" {
  region      = "global"
  datacenters = ["dc1"]
  type        = "service"

  update {
    stagger      = "60s"
    max_parallel = 1
    progress_deadline = "6m"
  }

  group "lifefaq-group" {
    count = 1

    network {
      port "port-app" {
        to = 9210  # Internal application port
      }
    }

    # Register the service with Consul
    service {
      provider = "consul"
      name     = "lifefaq"
      port     = "port-app"

      # Traefik-specific tags for routing
      tags = [
        "PORT=${NOMAD_PORT_port-app}"
      ]

      # Define a health check using TCP
      check {
        name     = "tcp_check"
        type     = "tcp"
        interval = "10s"
        timeout  = "2s"
      }
    }

    task "lifefaq-task" {
      driver = "docker"

      config {
        image = "registry.i80.dk/gitea/lifefaq:latest"
        ports = ["port-app"]
      }

      env {
        APP_ENV = "production"
        PORT    = "${NOMAD_PORT_port-app}"
      }

      resources {
        cpu    = 250
        memory = 80
      }
    }
  }
}
