---
title: "Erste Schritte"
description: "Uptimeify-Provider installieren, mit einem API-Token anmelden und den ersten Website-Monitor mit OpenTofu oder Terraform anlegen."
---

## 1. API-Token anlegen

Öffne im Dashboard **Einstellungen > API** und leg ein Token an, siehe [API-Token erstellen](/de/api/introduction/generate-api-token). Ein Organisations-Token verwaltet alles in der Organisation, ein [Kunden-Token](/de/terraform/customer-tokens) nur seine Kunden.

```sh
export UPTIMEIFY_API_TOKEN=wsm_...
```

## 2. Konfiguration schreiben

```terraform
terraform {
  required_version = ">= 1.11"
  required_providers {
    uptimeify = {
      source  = "uptimeify/uptimeify"
      version = "~> 0.2"
    }
  }
}

provider "uptimeify" {} # liest UPTIMEIFY_API_TOKEN

data "uptimeify_customer" "shop" {
  name = "Example Shop GmbH"
}

resource "uptimeify_website" "shop" {
  customer_id    = tonumber(data.uptimeify_customer.shop.id)
  name           = "Shop-Startseite"
  url            = "https://shop.example.com/"
  check_interval = 5

  check_expected_response_enabled = true
  expected_response_match_type    = "contains"
  expected_response_value         = "In den Warenkorb"
}

resource "uptimeify_tag" "production" {
  name  = "production"
  color = "red"
}

resource "uptimeify_monitor_tag" "shop_production" {
  monitor_type = "website"
  monitor_id   = tonumber(uptimeify_website.shop.id)
  tag_id       = tonumber(uptimeify_tag.production.id)
}
```

## 3. Anwenden

```sh
tofu init
tofu plan
tofu apply
```

Mit Terraform statt `tofu` einfach `terraform`, die Befehle sind dieselben. Der Monitor steht direkt nach `apply` im Dashboard und prüft ab dem nächsten Intervall.

## 4. Ändern und reviewen

Konfiguration anpassen, `tofu plan` ausführen, den Diff reviewen wie jede andere Codeänderung. Hat jemand im Dashboard etwas geändert, zeigt der nächste `plan` die Abweichung, `apply` setzt sie zurück.

## Weiter

- [Kunden-Token](/de/terraform/customer-tokens): eine Konfiguration je Kunde.
- [Bestand importieren](/de/terraform/import): im Dashboard angelegte Monitore in Code überführen.
- [Secrets und Updates](/de/terraform/secrets-and-updates): Header, Passwörter und wie der Provider Updates schickt.
- [`uptimeify_website`](/de/terraform/resources/website): alle Attribute des Website-Monitors.
