# Mehrere Websites

> Mehrere Dokumentationen mit eigenen Domains, Mitgliedern und Anmeldungen auf einer Docsello-Installation.

Eine Docsello-Installation kann beliebig viele **Workspaces** bedienen – jeder mit eigener Website, eigener Domain,
eigenen Mitgliedern, eigenem Single Sign-on und eigenen API-Tokens. So laufen zum Beispiel die Dokumentationen
mehrerer Produkte auf einem Server.

## Neuen Workspace anlegen

:::steps
### Workspace erstellen

Als Betreiber in der Verwaltung oben über die Workspace-Auswahl **Neuer Workspace** wählen (oder `/admin/new`
öffnen), **Name** und **Adresse** eingeben und **Erstellen** klicken. Der Workspace ist sofort unter
`<adresse>.<ROOT_DOMAIN>` erreichbar.

### Domain einrichten

DNS der gewünschten Domain (z. B. `docs.example.org`) auf den Server zeigen lassen.

- **Mit Caddy** ist sonst nichts zu tun – das Zertifikat wird beim ersten Aufruf ausgestellt.
- **Hinter nginx** brauchst du ein Zertifikat und eine nginx-Site für die Domain, z. B. mit `certbot` und einer Site
  nach dem Vorbild von `deploy/nginx/docsello.conf` (Details in `docs/SERVER_INSTALL.md`, Abschnitt „More sites on the same install“).

### Domain im Workspace verbinden

Im neuen Workspace unter **Startseite → Domains** die Domain hinzufügen und **Prüfen**, siehe [Domains](doc:domains).

### Anmeldung und Tokens

Unter **Einstellungen** den Anmelde-Anbieter einrichten (Redirect-URI `https://docs.example.org/auth/oidc/callback`)
und unter **API & Tokens** einen eigenen Token für die CI anlegen.
:::

## Wer darf Workspaces anlegen?

Standardmäßig nur der Betreiber – das erste Konto der Installation. Mit `DOCSELLO_OPEN_SIGNUP=1` darf sich jeder
registrieren und eigene Workspaces anlegen (für gehostete Angebote, siehe [Konfiguration](doc:konfiguration)).

## Wie die Domains zugeordnet werden

Nach jedem Veröffentlichen verknüpft der Worker jede verifizierte Domain einer Website mit ihrem Ordner im Speicher.
Der Webserver liefert die Seiten dann direkt von der Festplatte aus. Eine gerade erst hinzugefügte Domain funktioniert
sofort über die Anwendung und wird nach dem nächsten Veröffentlichen ebenfalls direkt ausgeliefert. Wer das sofort
möchte, erzeugt die Website neu: `docker compose run --rm worker build-site`.
