> ## Documentation index
> The full klickops handbook index is at https://klickops.io/llms.txt
> The HTML of this page is at https://klickops.io/docs/limits
> Language: de

# Was klickops nicht macht

Alle Grenzen der Plattform auf einer Seite, mit dem Umweg, wo es einen gibt.

## Was das ist

klickops betreibt deine Apps, Datenbanken, Buckets und Scheduled Jobs auf einer Plattform, die du mit anderen Kunden teilst. Damit niemand einen anderen stört, ist manches gesperrt. Diese Seite sammelt alle diese Grenzen. Was hier steht, kannst du auch über die CLI oder die API nicht freischalten.

Passt dein Vorhaben an einer Stelle nicht, steht dabei der Umweg. Gibt es keinen, lies [Wenn du mehr brauchst](#wenn-du-mehr-brauchst).

## Im Container

| Grenze | Was das heisst | Umweg |
| --- | --- | --- |
| Kein Zugriff auf die Kubernetes-API | Ein Container bekommt kein Token für den Cluster. Tools, die selbst Pods starten oder Ressourcen anlegen, laufen nicht. Dazu gehören Operatoren, Helm aus dem Container und eigene CI-Runner. | Nimm die [CLI](/docs/cli) oder die API von klickops. |
| Keine privilegierten Container | Docker-in-Docker läuft nicht. Als zusätzliche Capability gibt es nur `NET_BIND_SERVICE`, damit eine App auf einem Port unter 1024 lauschen kann. | Bau das Image in deinem CI und lass klickops es ausrollen ([Git](/docs/git)). |
| Kein Zugriff auf den Server | Kein Host-Netz, keine Host-Pfade, keine Geräte. | Keiner. |
| Keine GPU | Es gibt keine Server mit Grafikkarte. | Keiner. |
| Nur Linux | Windows-Container laufen nicht. | Keiner. |

Ein Image, das als Root läuft, startet trotzdem. klickops isoliert es dann, wo der Cluster das kann ([Apps](/docs/apps)).

## Im Netzwerk

- **Von aussen nur HTTP und HTTPS.** Verkehr kommt nur über eine [Domain](/docs/domains) herein. Eigene TCP- oder UDP-Ports und eine eigene IP-Adresse gibt es nicht. Eine Datenbank oder einen Port einer App erreichst du von deinem Rechner aus mit `klops pf`, zum Beispiel `klops pf svc/pg-main 5432`.
- **Ausgehend nur ins öffentliche Internet.** Private Netze, ein VPN oder dein eigenes Rechenzentrum erreicht klickops nicht.
- **Ausgehend nur wenige Ports.** Offen sind HTTP (80), HTTPS (443), SSH (22), DNS (53), NTP (123) und Ping. Mails über SMTP gehen deshalb nicht raus. Nimm die HTTPS-API deines Mail-Anbieters. Eine externe Datenbank auf Port 5432 erreichst du ebenfalls nicht. Die Details stehen unter [Firewall](/docs/firewall).
- **Keine feste ausgehende IP-Adresse.** Ein Dienst, der nur Anfragen von bekannten IP-Adressen annimmt, lässt sich damit nicht freischalten.
- **Eine Region.** Alles läuft in der Schweiz. Eine zweite Region oder ein weltweites Edge-Netz gibt es nicht.

## Bei den Diensten

- **Datenbanken:** PostgreSQL und Valkey (kompatibel mit Redis). MySQL, MariaDB und MongoDB gibt es nicht.
- **Speicher:** [Buckets](/docs/buckets) mit S3-API und [Volumes](/docs/volumes).
- **Nicht im Angebot:** Kafka, RabbitMQ, Elasticsearch, OpenSearch und ClickHouse. Einen externen Anbieter erreichst du nur, wenn er auf einem der offenen Ports antwortet, also meist über HTTPS.
- **Valkey ist eine einzelne Instanz.** Sie hat keine Replikation und keine Backups.
- **Ein Volume hängt an einer App.** Zwei Apps können nicht auf dasselbe Volume schreiben. Eine App mit Volume startet bei einem Update neu, statt die alte Version weiterlaufen zu lassen. Gemeinsame Dateien legst du in einen Bucket.

## Feste Grössen

| Was | Grenze | Wenn es mehr ist |
| --- | --- | --- |
| Ein Konfigurationseintrag | 8 KiB | Leg grössere Dateien in ein Volume oder einen Bucket. |
| Alle Einträge einer Konfiguration | 64 KiB | Dasselbe. |
| Dump-Upload in eine Datenbank | 2 GiB | Exportier und importier in Teilen, zum Beispiel ein Schema nach dem anderen mit `pg_dump --schema`. |
| Ein Aufruf der API | 1 MiB | Gilt für Aufrufe mit JSON. |
| Aufrufe der API | 10 pro Sekunde, kurz bis 50 | Warte und versuch es nochmals. |
| Ein Build | 45 Minuten | Ein abgebrochener Build startet nicht von selbst neu. |
| Backups | höchstens stündlich, bis 365 Tage | Keiner. |

## Tarife

Jeder Tarif setzt Obergrenzen. klickops prüft sie beim Anlegen und lehnt ab, was darüber geht. Die Meldung nennt die Grenze.

| | Free | Hobby | Starter | Pro | Scale |
| --- | --- | --- | --- | --- | --- |
| Projekte | 1 | 2 | 5 | 15 | 40 |
| Apps | 1 | 10 | 30 | 75 | 200 |
| Datenbanken | 1 | 2 | 5 | 15 | 40 |
| Eigene Domains | 0 | 3 | 10 | 30 | 100 |
| Replicas pro App | 1 | 3 | 5 | 10 | 20 |
| Builds gleichzeitig | 1 | 1 | 2 | 4 | 8 |
| vCPU pro Projekt | 1 | 4 | 8 | 16 | 32 |
| RAM pro Projekt | 1 GB | 8 GB | 16 GB | 32 GB | 64 GB |
| Speicher pro Projekt | 3 GB | 50 GB | 200 GB | 500 GB | 2'000 GB |

Scheduled Jobs zählen getrennt von Apps, mit derselben Obergrenze. Im Free-Tarif kann eine App nicht über ihre Reservierung hinaus Leistung ziehen, und ein Bucket fasst höchstens 1 GB. Ein Custom-Plan ab CHF 200 bringt mehr Guthaben. Seine Obergrenzen sind die von Scale. Wie die Kosten entstehen, steht unter [Tarif und Kosten](/docs/billing).

## Im Betrieb

- **klickops ist in der Beta.** Es gibt keine SLA und keine Zusage zur Verfügbarkeit. Bewahr von allem Wichtigen eigene Backups auf.
- **Kein CI.** klickops baut dein Image aus einem Repository, führt aber keine Tests und keine Pipelines aus ([Git](/docs/git)).
- **Ein Workload bleibt in seinem Projekt.** Apps und Datenbanken lassen sich nicht in ein anderes Projekt verschieben ([Organisationen, Projekte, Workloads](/docs/concepts)).

## Wenn du mehr brauchst

Stösst du an eine Grenze ohne Umweg, passt eine eigene Umgebung besser. Das kann ein eigener Kubernetes-Cluster mit vollem Zugriff sein, virtuelle Maschinen oder einer der Dienste, die hier fehlen. Wann das passt und wie du uns erreichst, steht auf der Seite [Preise](/pricing#beyond).

## Verwandt

- [Firewall](/docs/firewall) erklärt, was deine Apps erreichen dürfen.
- [Tarif und Kosten](/docs/billing) zeigt, was du bezahlst.
- [Wenn etwas nicht läuft](/docs/troubleshooting) hilft, wenn eine Grenze wie ein Fehler aussieht.
