Endpoint-Standard ${origin}/v1, echte Projekt-ID im Traefik-Header, Console-
Einstellungen als Soll-Stand statt Tatsache, Test-Befehle je mit Verzeichnis;
Projekt-ID nicht mehr "aircard", Auth-/Dienste-Schritte als optionale Härtung.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
5.1 KiB
Appwrite-Console: Projekt „AirCard” einrichten
Klickliste für Kenso. Dauer: etwa 5 Minuten. Console: https://appwrite.webklar.com/console
Alles passiert in der bestehenden Organisation. Das Schema (Datenbank, Tabelle, Bucket) legt danach das Skript web/scripts/appwrite-setup.mjs an – dafür musst du nichts anklicken.
Hinweis: Das Projekt wurde mit der automatisch generierten ID 6ac2130a00289343d6d5 angelegt (nicht mit einer selbst gewählten ID). Diese ID steht in /home/webklar/apps/.env unter AIRCARD_APPWRITE_PROJECT_ID; das Skript liest sie von dort, der Wert muss beim Aufruf verfügbar sein.
Stand der Einstellungen: Schritt 2 (Web-Plattform aircard-ios.org) ist Voraussetzung, ohne sie lehnt Appwrite die Anfragen der Seite ab. Die Schritte 3 und 4 sind empfohlene Härtung. Ob sie in der Console umgesetzt sind, prüft kein Skript (--check deckt nur Schema, Tabelle und Bucket ab). Solange du sie nicht selbst gesetzt hast, läuft das Live-Projekt mit den Appwrite-Standards für Auth und Dienste. Das Schema und die Zeilen-/Dateirechte sind davon unabhängig.
1. Projekt anlegen
- In der Console anmelden und die bestehende Organisation öffnen.
- Create project klicken.
- Name:
AirCard. - Das Feld Project ID unverändert lassen: Appwrite erzeugt die ID selbst. Nach dem Anlegen steht sie unter Settings (und in der Adresszeile der Console). Sie ist öffentlich, steckt im JavaScript der Seite.
- Create klicken.
Bei einem Neuaufbau bekommt das neue Projekt eine neue ID. Dann müssen drei Stellen dazu passen: die Traefik-Regel (deploy/traefik/aircard.yml, dort steht die ID im Header(...)), AIRCARD_APPWRITE_PROJECT_ID in /home/webklar/apps/.env und der Standardwert in web/src/account/appwrite.ts.
2. Web-Plattformen eintragen
Projekt AirCard → Overview → Integrations → Platforms → Add platform → Web.
- Name
AirCard Website, Hostnameaircard-ios.org→ Create. - Noch einmal Add platform → Web: Name
Entwicklung, Hostnamelocalhost→ Create.
3. Auth-Einstellungen (empfohlene Härtung, keine Voraussetzung für den Betrieb)
Linke Leiste → Auth → Settings. Registrieren und Anmelden funktionieren auch mit den Standardwerten; die folgenden Einstellungen begrenzen nur, was Besucher mit dem Projekt anstellen können.
- Bei Auth methods nur Email/Password eingeschaltet lassen. Ausschalten: Magic URL, Email OTP, Phone, Anonymous, JWT (steht dort auch Invites: ebenfalls aus).
- Session duration:
30Tage → Update. - Max sessions (Sitzungen pro Nutzer):
5→ Update. - Limit (Nutzerlimit):
2000→ Update. - Password dictionary: einschalten.
Keine E-Mail-Bestätigung nötig, Mindestlänge 8 Zeichen ist Standard – dafür ist nichts einzustellen. Die „Passwort vergessen“-Mail geht über den globalen Server-SMTP (Absender WEBklar), auch dafür ist nichts einzustellen.
4. Nicht benötigte Dienste abschalten (optional)
Linke Leiste → Settings → Reiter Services. Das ist optionale Härtung: Die Website braucht diese Dienste nicht, schadet aber auch nicht, wenn sie an bleiben. Solange du das nicht gemacht hast, sind sie am Live-Projekt an (z. B. antwortet GraphQL).
- Ausschalten, soweit die Console es dort anbietet: Functions, Sites, Messaging, Teams, GraphQL.
- Alles andere (Account, Avatars, Databases, Locale, Storage …) bleibt an.
5. API-Key aircard-provision anlegen
Dieser Key gehört nur dem Setup-Skript. Die Website selbst braucht ihn nicht.
- Overview → Integrations → API keys → Create API key.
- Name:
aircard-provision. Ablauf (Expiration): Never. - Unter Scopes genau diese acht ankreuzen (Gruppe Database bzw. Storage):
databases.readunddatabases.writetables.readundtables.writecolumns.readundcolumns.writebuckets.readundbuckets.write
- Create klicken.
- Auf der Seite des neuen Keys den Secret-Wert kopieren (Auge-Symbol zum Einblenden, dann kopieren).
6. Key auf dem Server eintragen
Der Key gehört in die Datei /home/webklar/apps/.env, nirgendwo sonst.
-
Auf dem Server die Datei öffnen, z. B.
nano /home/webklar/apps/.env. -
Ans Ende springen und neue Zeilen anfügen, ohne Anführungszeichen und ohne Leerzeichen um das
=(die Projekt-ID ist die in Schritt 1 notierte, siehe Hinweis oben):AIRCARD_APPWRITE_PROJECT_ID=<Projekt-ID> AIRCARD_APPWRITE_API_KEY=<hier den kopierten Secret-Wert einfügen> -
Speichern (in
nano: Strg+O, Enter, Strg+X). Andere Zeilen nicht verändern. -
Den Key möglichst nicht im Chat teilen (wer ihn dort einfügt, gibt ihn in den Verlauf), nicht in Screenshots zeigen und nirgends einchecken. Das Skript bekommt ihn über
node --env-file=/home/webklar/apps/.env, dafür muss ihn niemand sonst sehen.
7. Bescheid geben
Schreib Claude „Console fertig“. Danach legt Claude Datenbank aircard, Tabelle cards und Bucket card-images mit dem Skript an und prüft sie.