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