docs/quick-start.md

Rychlý start: minimální nasazení Welley

Nejkratší cesta k běžící instanci Welley na jednom linuxovém hostiteli, v libovolném cloudu nebo na vašem vlastním hardwaru. Používá jen přepínače, které CLI skutečně vyžaduje, vše ostatní zůstane ve výchozím nastavení.

Co dostanete: platformu, RAG pipeline, Nginx, Redis a přibalený kontejner s PostgreSQL, s certifikátem od Let's Encrypt vydaným během instalace. Bez spravované databáze, bez CDN, bez telemetrie a bez integrace se Slackem. Ty najdete v návodech pro AWS EC2 a DigitalOcean.

1. Předpoklady

Linuxový hostitel

  • Ubuntu 24.04 LTS (nebo srovnatelná aktuální distribuce).
  • Pro začátek 2 vCPU, 4 GB RAM a disk 60 GB.
  • Veřejná adresa IPv4, která se nemění.
  • Příchozí TCP 80 a 443 otevřené do internetu a 22 otevřené pro vás. Port 80 je potřeba během instalace pro ověření certifikátu a potom pro týdenní obnovu.
  • Uživatel bez práv roota s sudo. Návod vše spouští pod tímto uživatelem, který je níže označen jako <user>.

DNS

Dva záznamy, oba ukazují na veřejnou IP adresu hostitele:

Záznam Účel
<domain> samotný web
storage.<domain> nahrané a statické soubory, protože toto nastavení nemá CDN

Vytvořte je před začátkem: CLI ověří, že oba názvy míří na tohoto hostitele, a pokud ne, zastaví se.

E-mailové záznamy DNS

Doména vaší adresy v --smtp-from potřebuje záznamy pro ověření e-mailů. Bez nich Gmail, Outlook a další velcí poskytovatelé často zahodí poštu příjemcům, kterým jste dosud nic neposlali. Týká se to všech pozvánek i potvrzení registrace. E-mail přitom nepřistane ani ve spamu, i když ho váš poskytovatel SMTP hlásí jako odeslaný.

Záznam Typ Hodnota
<mail-domain> TXT SPF, například v=spf1 include:<provider> ~all (přesnou hodnotu vezměte od svého poskytovatele SMTP)
_dmarc.<mail-domain> TXT DMARC, například v=DMARC1; p=none; rua=mailto:dmarc@<mail-domain>
<selector>._domainkey.<mail-domain> TXT nebo CNAME DKIM, vygeneruje ho váš poskytovatel SMTP, když ověřujete doménu

Doména může mít jen jeden záznam SPF. Pokud už ho má, přidejte do něj svého poskytovatele a nevytvářejte druhý. Příkaz create upozorní, když SPF nebo DMARC chybí, ale nezastaví se. DKIM ověřit nemůže, protože název selektoru je specifický pro vašeho poskytovatele.

DKIM nevynechávejte. Mnoho poskytovatelů, mimo jiné Amazon SES, odesílá ve výchozím nastavení s vlastní doménou jako obálkovým odesílatelem. SPF pak kontroluje doménu poskytovatele, ne vaši, takže se nezapočítává do DMARC a DMARC může projít jen díky DKIM. Stav DKIM zkontrolujte v konzoli svého poskytovatele. V Amazon SES ho najdete v části Verified identities, pak u položky <mail-domain>, pak v části DKIM, a musí tam být Successful. SES Easy DKIM zveřejňuje tři záznamy CNAME s názvem <token>._domainkey.<mail-domain>.

Přihlašovací údaje k SMTP

Hostitel, uživatel, heslo a adresa odesílatele, od libovolného poskytovatele. Platforma je potřebuje pro potvrzení e-mailu a obnovu hesla a CLI bez nich instalaci odmítne. Výchozí nastavení počítá s odesíláním přes STARTTLS na portu 587.

E-mailová adresa správce pro první přihlášení a obnovu hesla.

2. Instalace Dockeru

Postupujte podle oficiálního návodu pro vaši distribuci: Install Docker Engine. Potom svému uživateli povolte komunikaci s démonem:

sudo usermod -aG docker <user>

Odhlaste se a znovu přihlaste a pak ověřte, že obojí funguje:

docker ps
docker compose version

3. Stažení CLI

Vyberte hodnotu platform, která odpovídá vašemu hostiteli:

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. Nasazení

./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 šest přepínačů je celá povinná sada. Příkaz zkontroluje DNS, zapíše soubory nasazení, vydá certifikát přes Certbot a spustí kontejnery. Počítejte s tím, že to potrvá několik minut.

Výchozí hodnoty, které tu přijímáte:

Nastavení Výchozí hodnota
Instalační adresář ~/.welley/<project>, kde <project> je doména, v níž je každý nealfanumerický znak nahrazen znakem _ (takže z example.com se stane example_com)
Databáze přibalený kontejner s PostgreSQL, data v instalačním adresáři
Certifikáty Let's Encrypt přes Certbot, obnovují se automaticky jednou týdně
Nahrané a statické soubory poskytují se z https://storage.<domain>
Aktualizace kanál stable, kontrolují se denně a kde je to možné, instalují se bez výpadku

5. První přihlášení

Vygenerované heslo správce se vypíše do logu platformy:

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

Otevřete https://<domain>, přihlaste se e-mailem správce, který jste zadali přes -e, a hned změňte heslo. Do té doby považujte log za tajný.

6. Kontrola výsledku

docker ps

Měli byste vidět po jednom kontejneru pro nginx, platform-blue, rag-pipeline-blue, postgres, redis, autoheal a snoopy, všechny pojmenované <project>-<service>-1.

Když se něco pokazí

Příkaz create se podruhé nespustí, dokud existuje adresář projektu nebo jeho kontejnery. Pokud jsou soubory v pořádku a jen se některé kontejnery nepodařilo spustit, vytvořte je znovu, o nic nepřijdete:

./wlycli deploy restart -d example.com

Pokud je potřeba celé nasazení udělat znovu, odstraňte ho a začněte od začátku. Tím se smaže přibalená databáze i všechno ostatní:

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

Další dokumenty