docs/quick-start.md

# Rýchly štart: minimálne nasadenie Welley

Najkratšia cesta k bežiacej inštancii Welley na jednom hostiteľskom serveri s Linuxom, v ľubovoľnom cloude alebo na vlastnom hardvéri. Používa iba tie prepínače, ktoré CLI naozaj vyžaduje. Všetko ostatné zostáva v predvolenom nastavení.

Čo získate: platformu, RAG pipeline, Nginx, Redis a **pribalený** kontajner s PostgreSQL, s certifikátom od Let's Encrypt vydaným počas inštalácie. Bez spravovanej databázy, bez CDN, bez telemetrie a bez integrácie so Slackom. Tie nájdete v návodoch pre AWS EC2 a DigitalOcean.

## 1\. Čo potrebujete

**Hostiteľský server s Linuxom**

-   Ubuntu 24.04 LTS (alebo porovnateľnú aktuálnu distribúciu).
-   Na začiatok 2 vCPU, 4 GB RAM a 60 GB disk.
-   Verejnú adresu IPv4, ktorá sa nemení.
-   Prichádzajúce TCP porty **80** a **443** otvorené do internetu a port **22** otvorený pre vás. Port 80 je potrebný počas inštalácie na overenie certifikátu a potom na týždennú obnovu.
-   Používateľa bez práv root so `sudo`. Návod všetko spúšťa pod týmto používateľom, ďalej ho označujeme `<user>`.

**DNS**

Dva záznamy, oba smerujúce na verejnú IP adresu hostiteľského servera:

| Záznam | Účel |
| --- | --- |
| `<domain>` | samotný web |
| `storage.<domain>` | nahrané súbory a statické súbory, pretože toto nastavenie nemá CDN |

Vytvorte ich ešte pred začiatkom: CLI skontroluje, či sa obe mená prekladajú na tento server, a ak nie, zastaví sa.

**E-mailové záznamy DNS**

Doména vašej adresy `--smtp-from` potrebuje záznamy na overenie e-mailov. Bez nich Gmail, Outlook a ďalší veľkí poskytovatelia často zahodia poštu pre príjemcov, ktorí od vás ešte nikdy nič nedostali. Týka sa to každého pozvania a každého potvrdenia registrácie. Pošta sa pritom nedostane ani do spamu, hoci váš poskytovateľ SMTP hlási, že ju odoslal.

| Záznam | Typ | Hodnota |
| --- | --- | --- |
| `<mail-domain>` | TXT | SPF, napríklad `v=spf1 include:<provider> ~all`. Presnú hodnotu zistíte u svojho poskytovateľa SMTP |
| `_dmarc.<mail-domain>` | TXT | DMARC, napríklad `v=DMARC1; p=none; rua=mailto:dmarc@<mail-domain>` |
| `<selector>._domainkey.<mail-domain>` | TXT alebo CNAME | DKIM, vygeneruje ho váš poskytovateľ SMTP, keď overíte doménu |

Doména môže mať iba jeden záznam SPF. Ak už nejaký má, pridajte do neho svojho poskytovateľa namiesto vytvárania druhého záznamu. Príkaz `create` upozorní, ak SPF alebo DMARC chýba, ale nezastaví sa. DKIM skontrolovať nevie, pretože názov selektora je špecifický pre vášho poskytovateľa.

DKIM nevynechávajte. Mnohí poskytovatelia, medzi nimi Amazon SES, odosielajú predvolene s vlastnou doménou ako obálkovým odosielateľom. SPF potom overuje doménu poskytovateľa, nie vašu, takže sa nezapočíta do DMARC a DMARC môže prejsť iba vďaka DKIM. Stav DKIM skontrolujte v konzole svojho poskytovateľa. V Amazon SES je pod _Verified identities / `<mail-domain>` / DKIM_ a musí tam byť _Successful_. SES Easy DKIM zverejní tri záznamy CNAME s názvom `<token>._domainkey.<mail-domain>`.

**Prihlasovacie údaje SMTP**

Hostiteľ, používateľ, heslo a adresa odosielateľa, od ľubovoľného poskytovateľa. Platforma ich potrebuje na potvrdenie e-mailu a obnovu hesla a CLI bez nich inštaláciu odmietne spustiť. Predvolené nastavenie predpokladá odosielanie cez STARTTLS na porte 587.

**E-mailovú adresu správcu** pre prvé prihlásenie a obnovu hesla.

## 2\. Nainštalujte Docker

Postupujte podľa oficiálnych pokynov pre vašu distribúciu: [Install Docker Engine](https://docs.docker.com/engine/install/). Potom svojmu používateľovi umožnite komunikovať s démonom:

```
sudo usermod -aG docker <user>
```

Odhláste sa a znova prihláste, potom skontrolujte, či sú obe súčasti na mieste:

```
docker ps
docker compose version
```

## 3\. Stiahnite CLI

Vyberte hodnotu `platform`, ktorá zodpovedá vášmu serveru:

**linux/amd64**

```

curl -fL "https://appstore.allroads.social/v1/social.wellesley.wlycli/latest?channel=stable&platform=linux/amd64" -o wlycli
chmod +x wlycli
./wlycli -v
  
```
  **linux/arm64**

```

curl -fL "https://appstore.allroads.social/v1/social.wellesley.wlycli/latest?channel=stable&platform=linux/arm64" -o wlycli
chmod +x wlycli
./wlycli -v
  
```
  **darwin/arm64**

```

curl -fL "https://appstore.allroads.social/v1/social.wellesley.wlycli/latest?channel=stable&platform=darwin/arm64" -o wlycli
chmod +x wlycli
./wlycli -v
  
```
  **darwin/amd64**

```

curl -fL "https://appstore.allroads.social/v1/social.wellesley.wlycli/latest?channel=stable&platform=darwin/amd64" -o wlycli
chmod +x wlycli
./wlycli -v
  
```
  

## 4\. Nasadenie

```
./wlycli deploy create \
-d example.com \
-e admin@example.com \
--smtp-host smtp.example.com \
--smtp-user "$MAIL_USER" \
--smtp-password "$MAIL_PASSWORD" \
--smtp-from noreply@example.com
```

Týchto šesť prepínačov je celá povinná sada. Príkaz skontroluje DNS, zapíše súbory nasadenia, vydá certifikát cez Certbot a spustí kontajnery. Počítajte s niekoľkými minútami.

Predvolené nastavenia, ktoré tu prijímate:

| Nastavenie | Predvolená hodnota |
| --- | --- |
| Inštalačný adresár | `~/.welley/<project>`, kde `<project>` je doména, v ktorej je každý nealfanumerický znak nahradený znakom `_` (takže `example.com` sa zmení na `example_com`) |
| Databáza | pribalený kontajner s PostgreSQL, dáta v inštalačnom adresári |
| Certifikáty | Let's Encrypt cez Certbot, automaticky obnovované raz týždenne |
| Nahrané a statické súbory | sprístupnené z `https://storage.<domain>` |
| Aktualizácie | kanál `stable`, kontrola každý deň, inštalácia bez výpadku, ak je to možné |

## 5\. Prvé prihlásenie

Vygenerované heslo správcu sa vypíše do logu platformy:

```
docker logs example_com-platform-blue-1 | grep "Auto-init complete"
```

Otvorte `https://<domain>`, prihláste sa ako správca s e-mailom, ktorý ste zadali cez `-e`, a hneď zmeňte heslo. Dovtedy s logom zaobchádzajte ako s tajomstvom.

## 6\. Kontrola výsledku

```
docker ps
```

Mali by ste vidieť po jednom kontajneri pre `nginx`, `platform-blue`, `rag-pipeline-blue`, `postgres`, `redis`, `autoheal` a `snoopy`, všetky pomenované `<project>-<service>-1`.

## Ak sa niečo pokazilo

Príkaz `create` sa nespustí druhýkrát, kým existuje adresár projektu alebo jeho kontajnery. Ak sú súbory v poriadku a nespustili sa iba niektoré kontajnery, vytvorte ich znova bez straty akýchkoľvek dát:

```
./wlycli deploy restart -d example.com
```

Ak je potrebné nasadenie urobiť odznova, odstráňte ho a začnite od začiatku. Tým sa vymaže pribalená databáza spolu so všetkým ostatným:

```
./wlycli deploy delete -d example.com --yes-please-delete-all-the-data
```

## Ďalšie dokumenty

-   [**Welley CLI** docs/index.md](https://welley.com/sk/administrators/docs/cli/)
-   [**Nasadenie servera** skills/deploy-server/SKILL.md](https://welley.com/sk/administrators/docs/deploy-server-skill/)
-   [**openai.yaml** skills/deploy-server/agents/openai.yaml](https://welley.com/sk/administrators/docs/deploy-server-openai-yaml/)
-   [**Referencia k DigitalOcean** skills/deploy-server/references/digitalocean.md](https://welley.com/sk/administrators/docs/deploy-server-digitalocean/)
