# Obsługiwane środowisko

Czego draften potrzebuje na własnym serwerze, na czym jest przetestowany
i dokąd się łączy. Samo postępowanie przy instalacji opisuje strona
[Instalacja krok po kroku](/pl/admin/installing).

## Serwer

| | Wymaganie |
|---|---|
| Procesor | **x86-64**. Obrazów dla ARM (arm64) dziś nie budujemy; zbudujemy je, gdy będzie ich potrzebował klient. |
| Pamięć | **4 GB**. Interfejs webowy działa w dwóch kopiach, żeby dało się aktualizować bez przerwy. |
| Dysk | **20 GB** – obrazy, przy aktualizacji dwie paczki obok siebie, baza danych i kopie zapasowe. Duże skrzynki potrzebują więcej. |
| Maszyna | wirtualna albo fizyczna, to nie ma znaczenia. |

## System operacyjny i Docker

- **Linux**, dowolna dystrybucja z **Docker Engine 24** lub nowszym i wtyczką
  **compose v2** (polecenie `docker compose`). Stary samodzielny
  `docker-compose` (v1) nie wystarczy.
- Przetestowane na **Ubuntu Server**, z Dockerem 28 oraz compose 2.40 i 5.
- **Docker Desktop** (Windows, macOS) działa, ale tylko do wypróbowania. Do
  stałej pracy zalecamy serwer z Linuksem.
- **Podmana** nie obsługujemy – updater potrzebuje gniazda zgodnego z Dockerem
  i `docker compose`.
- **Synology i inny NAS z Dockerem**: skrypt instalacyjny jest napisany tak,
  żeby tam działał, ale na prawdziwym NAS-ie jeszcze nie był uruchamiany.
- Narzędzia `tar`, `base64` i `sha256sum` (albo `shasum`), które ma prawie
  każdy system.
- Polecenia uruchamia **root** albo użytkownik w grupie `docker`. Przy HTTPS
  bezpośrednio w draften katalog instalacji jest zamknięty dla innych
  użytkowników, więc `sudo`.

## Sieć: co musi być dostępne z zewnątrz

Zależy to od tego, gdzie kończy się HTTPS:

- **HTTPS kończy się w draften** – draften nasłuchuje na portach **443** i **80**
  (80 tylko przekierowuje na HTTPS).
- **HTTPS kończy się przed draften** (reverse proxy, tunel) – draften
  nasłuchuje tylko na `127.0.0.1:8085` i z zewnątrz w ogóle go nie widać. Gdy
  proxy działa na innej maszynie, otwórz port 8085 tylko dla niego.

Baza danych nie ma żadnego portu.

## Sieć: dokąd łączy się draften

Sama instalacja nie potrzebuje internetu – paczka zawiera wszystkie obrazy
i nic nie jest pobierane z Docker Hub ani skądinąd. W trakcie pracy draften
łączy się tylko tam, dokąd go skierujesz:

| Do czego | Adresy (port 443, IMAP i SMTP według serwera) |
|---|---|
| Microsoft 365 | `login.microsoftonline.com`, `graph.microsoft.com` |
| Google Workspace | `accounts.google.com`, `oauth2.googleapis.com`, `openidconnect.googleapis.com`, `www.googleapis.com`, `gmail.googleapis.com` |
| inna skrzynka | twój serwer IMAP |
| modele językowe | `api.anthropic.com`, `api.openai.com` albo adres twojego serwera zgodnego z OpenAI – według kluczy, które podasz |
| wysyłka poczty (zaproszenia, linki do ustawienia hasła) | twój serwer SMTP albo `api.brevo.com` |
| połączenie z CRM | `api.hubapi.com` (HubSpot), `app.raynet.cz` (Raynet), `api.flowii.com` (FLOWii) |
| updater: nowe wydania | `download.draften.ai` – raz dziennie lista wydań, przy aktualizacji pobranie paczki (około 500 MB); tylko z przesłaną licencją |

Z własnej instalacji nie wychodzi do nas żadna telemetria ani raporty błędów.

Kto publikuje draften przez **Cloudflare Tunnel**, potrzebuje dodatkowo
połączenia z Cloudflare według jego dokumentacji i obrazu `cloudflared`, który
Docker pobierze z Docker Hub – nie ma go w paczce.

## Poczta i modele

- **Systemy pocztowe**: Microsoft 365 (Exchange Online), Google Workspace
  i inne skrzynki przez IMAP. Zobacz [Microsoft 365](/pl/admin/microsoft-365),
  [Google Workspace](/pl/admin/google-workspace) i
  [Dostęp do poczty](/pl/admin/organisation-mail-access).
- **Modele językowe**: Anthropic, OpenAI i serwer zgodny z OpenAI, na przykład
  model lokalny. Zobacz [Klucze API modeli](/pl/admin/api-keys).

## HTTPS

Interfejs musi być dostępny przez HTTPS. Trzy możliwości – certyfikat
bezpośrednio w draften, twoje reverse proxy albo Cloudflare Tunnel – opisuje
krok o HTTPS w [Instalacji krok po kroku](/pl/admin/installing). Certyfikat
zdobywasz samodzielnie (od urzędu certyfikacji albo klientem ACME).
