Skip to main content

MailGen setup új gépen

Végezd el a MailGen setupját új macOS- vagy Debian-gépen. Utána jelentkezz be, és nyiss meg egy csatlakoztatott postafiókot. Ez az útmutató az egységes Docker Compose-t használja. A BFF szolgálja ki a böngészős munkaterületet. Az Account kezeli a bejelentkezést. A háttérworkerek és a .NET-szolgáltatások dolgozzák fel a postafiók-adatokat.

A kezdő útvonal​

Az alábbi sorrend egy teljes helyi setupot állít be a következőkkel:

VálasztásEz az útvonal
InfrastruktúraECS_DEPLOYMENT_MODE=fulllocal, ECS_REMOTE_SIMULATION=false
AlkalmazásbejelentkezésMicrosoft az Account szolgáltatáson keresztül
PostafiókokMicrosoft és személyes Gmail
Gmail-frissítésekElőzménylekérdezés: OAuth és szinkronizáció bekapcsolva, watch kikapcsolva
VégrehajtásFordított production-kód a 0daysetup.sh szerint
További alkalmazásokFormGen és docs-mcp, a setup választása szerint
AlkalmazásmemóriaECS_MEMORY_GIB=44, plusz gép- és build-tartalék
Forrás és konfigurációEz a checkout (.), új gyökér .env, üres tárolók

Microsoft kiválasztása előtt nézd meg az Egy postafiók csatlakoztatása és előkészítése részt. A Microsoft-bejelentkezéshez és a postafiók-csatlakoztatáshoz létező, megmaradt bérlőkapcsolat kell, megadott hozzájárulással és használható hitelesítő adatokkal. Környezeti hitelesítő adatok önmagukban nem jelenítik meg ezeket a műveleteket üres adatbázisban. Ez az útmutató nem ad teljes Microsoft-bootstrapet üres adatbázishoz, és nem ad első kapcsolatot létrehozó parancsot. A Microsoft-útvonalat csak akkor kövesd, ha ez a kapcsolat már létezik. Az onboarding worker később, az identitás-összekapcsolás és a jóváhagyott indítási kérés után hozza létre a postafiókot.

Kövesd a számozott sorrendet ezekkel a választásokkal. Az indítás előtt teljesítsd a csatolt Microsoft- és Gmail-előfeltételeket. Ehhez az útvonalhoz nincs szükség Google-alkalmazásbejelentkezésre, mert a felhasználók Microsofttal jelentkeznek be.

Archívum-migráció, csak Google, valódi távoli infrastruktúra, Gmail push és production forrás-rögzítés alternatívák. Ezeket a megfelelő szakaszok írják le, nem kötelező köztes lépések. Megőrzött adatokhoz használd a konfiguráció visszaállítását, és őrizd meg az eredeti azonosítókat és kulcsokat. Ne generálj helyettük újakat.

Az oldal teljes hosszában ugyanazt az operációsrendszer-fület válaszd. Másold a parancsokat a Terminálba, nyomj Entert, és várd meg a promptot, mielőtt folytatod. A későbbi projektparancsokat a t42-motherrepo gyökérkönyvtárából futtasd.

Meglévő deploymenthez használd a napi parancsokat. Ne ismételd meg az új gépes setupot csak az infrastruktúra-elhelyezés módosításához.

A komponensek megértése​

A Docker elkülönített konténerekben futtat programokat. A tartós kötetek tárolják az adataikat. A program újraindítása és a kötet törlése más hatású.

KomponensFeladatValódi partialRemote helye
BFFBöngészős felület és szerveroldali böngészőkérésekHelyi
AccountAlkalmazásbejelentkezés és munkamenetekHelyi
Backend és .NET szolgáltatásokFeldolgozás, szinkronizáció, keresésHelyi
PostgreSQLFelhasználók, beállítások, postafiók-rekordok, előzményekHelyi
SeaweedFS/S3Törzsek, mellékletek, egyéb fájlokHelyi
OpenSearchKeresési indexekHelyi
DragonflyCache és ideiglenes koordinációHelyi
Kafka, három brokerParancsok és események a szolgáltatások közöttTávoli Coolify
ClamAVFeltöltött fájlok ellenőrzéseTávoli Coolify
CollaboraOffice-dokumentum-előnézetekTávoli Coolify
Tika / knowledge-extractorDokumentumszöveg-kinyerésTávoli Coolify
QdrantTudásbázis-lekérdezési vektorokTávoli Coolify

A Coolify kezeli a távoli erőforrásokat. A távoli deployment itt nem mozgatja át az egész alkalmazást. A fulllocal módban az utolsó öt sorban szereplő infrastruktúra is helyben fut. Lásd az architecture-áttekintést.

0. Olvasd el a setupot a teljes alkalmazás nélkül​

Ha a repository le van töltve és a Docker fut:

bash docsStarter.sh

Futtasd a motherrepo gyökeréből vagy egy önálló Architecture-checkoutból. Nincs szüksége gyökér .env-re vagy alkalmazásbeállításra. Nyisd meg a kiírt localhost-URL-t. A Ctrl+C eltávolítja a saját eldobható dokumentációs konténerét. A statikus build működéséhez olvasd el az önálló dokumentációt.

1. Szerezz hozzáférést és őrizd meg az adatokat​

A setup előtt szerezd meg:

A Coolify-irányítópult jelszava nem pótolja a szolgáltatói hitelesítő adatokat. A .local hosztnév nem fogadhat felhőszolgáltatói webhookokat.

Megőrzött adatokhoz szerezd meg az adatbázis- és objektumtároló-mentéseket, valamint a meglévő titkosítási, aláírási és hozzáférési kulcsokat. Őrizd meg a deployment példány- és bérlőazonosítóit. Új gép és új konfiguráció nem állítja vissza a régi postafiók-adatokat.

Az onboarding létrehozza a kezdeti helyi postafiók-adatokat, a fájlobjektumokat, a keresési adatokat és a szinkronizációs állapotot. A szolgáltatói postafiók a Gmailnél vagy a Microsoftnál marad.

Gépkapacitás​

Kiválasztott terhelésExplicit alkalmazás-keret
Standard teljes stack Google-worker profil nélkülECS_MEMORY_GIB=40
Teljes Microsoft + Google + FormGen stackECS_MEMORY_GIB=44

Ez az útmutató a teljes 44 GiB-os választást követi. Az alkalmazás-keret nem a teljes gép RAM-ja. A futásidejű admisszió a kért alkalmazás-kereten kívül legalább 3 GiB-ot tart fenn. A build-admisszió a kért build- és szolgáltatásmemórián túl szintén 3 GiB-ot tart fenn. Egy 3 GiB-os kezdeti build-kérés ezért legalább 6 GiB szabad memóriát igényel. Production build több memóriát igényelhet.

A kihagyott keret alapértelmezése 30 GiB. Sem a 30, sem a 35 GiB nem fér bele a teljes standard választás jelenlegi minimumaiba. Ne csökkentsd a szolgáltatási alsó határokat csak azért, hogy átjusson az admisszión. Kisebb, szándékosan kiválasztott terhelésnek saját allokátor- és gépkapacitás-ellenőrzés kell. A swap nem pótolja a RAM-ot.

macOS-en állíts be elegendő RAM-ot a Docker Desktop → Settings → Resources menüben a kerethez és a tartalékhoz. A kisebb gép- vagy Docker VM-kapacitás dönt. Debianon számolj a többi gépi terheléssel.

A helyi szimuláció valódi helyi infrastruktúrát tart meg, és nem csökkenti a kapacitást. A valódi távoli mód megváltoztatja a helyi kiválasztást, de mért helyi és távoli kapacitást igényel.

2. Végezd el a Terminal-eszközök setupját​

Nyisd meg a Terminal alkalmazást a Spotlighton keresztül. Végezd el a Homebrew setupját a hivatalos paranccsal:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Futtasd a setup által kiírt Next steps lépéseit, hogy elérhető legyen a brew. Utána:

brew install git gh python openssl@3 unzip zip tmux
brew install --cask docker
open -a Docker

Várd meg, amíg a Docker Desktop fut. Állíts be elegendő erőforrást, majd alkalmazd a változtatásokat.

Ellenőrizd az eszközöket:

git --version
python3 --version
docker version
docker compose version

A Dockernek mutatnia kell a Client és a Server részt is. Kapcsolódási hiba azt jelenti, hogy a Docker még nem érhető el. Az alkalmazásszolgáltatások konténerekben futnak, ezért ez az útvonal nem igényel külön hoszt-Next.js vagy .NET setupot.

Más Linux-disztribúciók a Docker-útvonalat használhatják, ha a Debian-csomagok setupját az adott disztribúció hivatalos utasításaival helyettesítik.

3. Töltsd le az alkalmazást​

Használj olyan GitHub-fiókot, amely hozzáfér az összes privát repositoryhoz. A gh auth login egyszer használatos kódot ír ki, és megnyitja a GitHubot. Add meg a kódot, jelentkezz be, hagyd jóvá a GitHub CLI-t, és szükség esetén végezd el a szervezeti SSO-t. Ha a böngésző nem nyílik meg, használd a kiírt URL-t. Várd meg, amíg a Terminal sikert jelez.

A submodule-URL-ek SSH-t használnak. Ez az új gépes útvonal HTTPS-re írja át őket, hogy a GitHub CLI külön SSH-kulcs nélkül adhasson hitelesítő adatot. A globális átírás az operációsrendszer-felhasználó összes GitHub-repositoryját érinti. SSH-ra szándékosan beállított gépen előbb egyezz meg a változtatásról az üzemeltetővel.

Soha ne írj személyes hozzáférési tokent vagy jelszót parancsba, klónozási URL-be vagy a shell-előzményekbe. A GitHub CLI kezeli a hitelesítő adatokat. Ha a GitHub CLI titkosítatlan szöveges fájlban történő tárolás jelzését adja, nézd át a hitelesítő adatok védelmét az üzemeltetővel. Az URL-átírás nem ad repository-hozzáférést.

gh auth login --hostname github.com --git-protocol https --web
gh auth setup-git --hostname github.com
git config --global url."https://github.com/".insteadOf 'git@github.com:'
mkdir -p "$HOME/dev"
cd "$HOME/dev"
git clone --recurse-submodules https://github.com/t42-hu/t42-motherrepo.git
cd t42-motherrepo

A további projektparancsokat mindig a t42-motherrepo könyvtárból futtasd. Új terminálban a cd "$HOME/dev/t42-motherrepo" paranccsal térj vissza. Ha egy fájl hiányzik, előbb ellenőrizd ezt a könyvtárat.

4. Készítsd elő a gyökérkonfigurációt​

Ehhez az új, üres setup-útvonalhoz hozd létre a gyökérfájlt a sablonból:

cp .env.example .env
chmod 600 .env

Ne futtasd ezt a másolást működő konfiguráció fölé. Nyisd meg a .env fájlt egyszerű szövegszerkesztőben. Ez egy rejtett szövegfájl, nem shell-szkript. Ne fűzz hozzá .txt kiterjesztést, és ne futtasd source-szal.

A kötelező üres értékeket neked kell megadnod: bootstrap-adminisztrátori hitelesítő adatok 32–64 karakteres jelszóval, egyedi ECS_INSTANCE_ID, PostgreSQL-, S3- és SeaweedFS-hitelesítő adatok, Kafka-azonosító és jelszavak, belső proxy- és KeyStore-tokenek, Dragonfly- és viewer-jelszavak, Cloudflare-kezelőhitelesítő adatok, valamint az aktív szolgáltatói beállítások.

A setup kiszámolja a böngésző-URL-eket, a PostgreSQL-kapcsolati stringeket és az alapértelmezett proxy-útvonalakat. Megőrzi a megadott auth-, proxy- és FormGen-titkokat, vagy generálja a hiányzókat. Nem generálja a KAFKA_CLUSTER_ID-t, a szolgáltatói hitelesítő adatokat, az explicit Graph delta-kulcsot vagy a Google-grant és kliens-titok fájljait. Ezeket az alábbi lépésekben a setup előtt állítsd be. Állítsd be az ECS_MEMORY_GIB=44 értéket ennek az útmutatónak a teljes választásához. A teljes listát a környezeti táblázatokban találod.

A devbox példa példánynév. Cseréld le a saját kisbetűs nevedre. Adatok áthelyezésekor őrizd meg a meglévő azonosítókat és kulcsokat. Soha ne futtass külön másolatokat ugyanazzal a példányazonosítóval.

Hozd létre az új, üres Kafka-fürt azonosítóját​

Csak olyan új fürthöz, amelynek nincs megőrzött broker-adata, generálj UUID-t a Kafka URL-biztos Base64-ábrázolásában:

python3 -c 'import base64, uuid; print(base64.urlsafe_b64encode(uuid.uuid4().bytes).decode("ascii").rstrip("="))'

Másold a kiírt 22 karakteres értéket a gyökér KAFKA_CLUSTER_ID mezőbe. Mind a három új broker ezt az értéket használja. A Python setupja a 2. lépésben már elkészült. Ez a 16 bájtos UUID-kódolást használja, amelyet a Kafka Uuid implementációja elfogad. A Kafka saját disztribúciója is ad bin/kafka-storage.sh random-uuid parancsot.

Megőrzött fürt esetén pontosan a megőrzött azonosítót használd. Ne generálj cserét, ne formázd a meglévő tárolót, és ne módosítsd az azonosítót tulajdonosi hiba törléséhez. Ha az azonosító nem ismert, állj meg, és állítsd helyre a helyes konfigurációt.

Válaszd ki az infrastruktúra-elhelyezést​

A kezdő útvonal maradjon teljesen helyi:

ECS_DEPLOYMENT_MODE=fulllocal
ECS_REMOTE_SIMULATION=false

Alternatíva: előkészített valódi távoli infrastruktúra. Ez nem tartozik a kötelező kezdő sorrendhez:

ECS_DEPLOYMENT_MODE=partialRemote
ECS_REMOTE_SIMULATION=false

A hiányzó kiválasztók megtartják a teljes helyi működést. A partialRemote / true helyi szimuláció. Opcionális, valódi helyi értékeket használ, és nem takarít meg memóriát. A fulllocal / true érvénytelen.

A valódi távoli indítás előtt töltsd ki a távoli blokkot és a callback-szerződést. Mind a három Kafka-hirdetett endpointnak működnie kell. A natív Kafka nem HTTPS-URL. A hitelesített scanner- és extractor-átjárókhoz külön tokenek kellenek. A Collabora korlátozott callbacket kér a helyi BFF-re.

A setup kiválasztja a kapcsolatokat, előkészíti a helyi alkalmazásokat és a proxyt, és ellenőrzi az előfeltételeket. Nem biztosít és nem indít újra Coolify-erőforrásokat. Nem lép csendben helyi szolgáltatásokra. Kafka-offseteket, eseményeket vagy Qdrant-pontokat sem visz át. Lásd a részleges távoli deploymentet.

Őrizd meg a kulcsokat és a forrásválasztást​

Ne generálj új delta-, postafiók-hozzáférési, e-mail- vagy szolgáltatókulcsot meglévő titkosított adatokhoz. Egy adatbázisjelszó-érték szerkesztése nem változtatja meg a meglévő adatbázisjelszót.

ECS_APPLICATION_SOURCE_ROOT=. ezt a checkoutot használja. Egy abszolút, átnézett pillanatkép rögzíthet production-alkalmazáskódot. Az útvonal gépspecifikus, és nem menti a pillanatképet. Meglévő production-rögzítést ne távolíts el egy egyeztetett kiadás nélkül.

5. Állítsd be a bejelentkezési és postafiók-szolgáltatókat​

Microsoft​

Az app-only backend-hozzáféréshez és a pontos jogosultságokhoz kövesd a Microsoft Graph beállítást. A külön bejelentkezési alkalmazáshoz kövesd az account-beállítást.

GyökérbeállításForrás
MICROSOFT_CONNECTOR_ENABLEDtrue Microsofthoz, explicit false csak Google esetén. A kihagyás alapértelmezetten engedélyez.
BFF_MICROSOFT_CLIENT_ID, BFF_MICROSOFT_CLIENT_SECRET, BFF_MICROSOFT_TENANT_IDBejelentkezési Entra-alkalmazás
BACKEND_CLIENT_ID, BACKEND_CLIENT_SECRET, BACKEND_TENANT_IDKülön app-only Graph-alkalmazás adminisztrátori hozzájárulással
GRAPH_WEBHOOK_URL, GRAPH_LIFECYCLE_WEBHOOK_URLA nyilvános bejövő útvonal támogatott értesítési és életciklus-útvonalai
GRAPH_WEBHOOK_CLIENT_STATEStabil, privát validációs titok
DELTA_LINK_ENCRYPTION_KEYÚj, 32 bájtos Base64-kulcs ehhez az üres setuphoz. Az egységes runtime a local-dev-v1 referenciát használja. A megőrzött adatokhoz az eredeti, kompatibilis kulcs és referenciaszerződés kell.

Regisztráld a pontos Account Web callbacket, például https://account.devbox.ecas.local:8443/api/auth/callback/microsoft. Meglévő deploymentnél tartsd meg a tényleges hosztot és portot, ne cseréld példára.

Csak új, üres setuphoz generáld a delta-kulcsot:

openssl rand -base64 32

Tartsd a kulcsot privátan. A jelenlegi gyökér Compose a kulcsot adja tovább, nem a DELTA_LINK_ENCRYPTION_KEY_REFERENCE mezőt. A futásidejű referencia local-dev-v1. A gyökér .env-ben egy tetszőleges referenciaérték-hozzárendelésnek nincs hatása. Más referenciával létrehozott megőrzött állapothoz ellenőrzött, kompatibilis folyamatkonfiguráció vagy explicit migráció kell. A runtime-inicializálás a certgen.sh segítségével készíti elő a Graph-tanúsítványfájlokat. A /runtime/graph/... alatti Compose-útvonalak konténerútvonalak, nem macOS- vagy Windows-útvonalak. Lásd a Graph-kriptográfiát.

Személyes Gmail​

Ehhez az útvonalhoz a postafiók-klienshez, az API-hozzáféréshez és a privát fájlokhoz végezd el a Google Cloud beállítást. A nem kötelező alkalmazásbejelentkezési klienst és a Pub/Sub-részeket hagyd ki. Tartsd meg a GOOGLE_APP_LOGIN_ENABLED=false, GOOGLE_MAILBOX_OAUTH_ENABLED=true, GOOGLE_MAILBOX_SYNC_ENABLED=true és GOOGLE_MAILBOX_WATCH_ENABLED=false értékeket. Az alábbi három Google JSON-listát állítsd [] értékre. A Microsoft engedélyezve marad.

A workerek engedélyezése előtt végezd el a Google-előfeltételeket. A leírás kitér az API-engedélyezésre, a hozzájárulásra, a külön bejelentkezési és postafiók-Web-kliensekre, a titokfájlokra és a Pub/Sub-ra. A személyes Gmail nem igényel Workspace-adminisztrációt vagy domain-szintű delegálást.

GyökérbeállításSzükséges érték
GOOGLE_APP_LOGIN_ENABLEDtrue csak akkor, ha a külön alkalmazásbejelentkezési kliens és a nyilvános callback készen áll
BFF_GOOGLE_LOGIN_CLIENT_ID, BFF_GOOGLE_LOGIN_CLIENT_SECRETTeljes alkalmazásbejelentkezési kliens-pár
GOOGLE_APP_LOGIN_CALLBACK_URL, GOOGLE_APP_LOGIN_PROXY_SECRETPontos nyilvános HTTPS /api/auth/callback/google és külön belső titok
GOOGLE_MAILBOX_OAUTH_ENABLED, GOOGLE_MAILBOX_SYNC_ENABLEDMindkettő true a postafiók-csatlakoztatáshoz és a háttérszinkronizáláshoz
ECAS_DEPLOYMENT_TENANT_IDStabil deployment UUID, nem e-mail, domain vagy név
GOOGLE_MAILBOX_CLIENT_IDDedikált postafiók-Web-kliensazonosító
GOOGLE_MAILBOX_CALLBACK_URLRegisztrált nyilvános HTTPS /v1/oauth/callback
GOOGLE_MAILBOX_BFF_COMPLETION_URLBFF /api/google-mailbox/complete, nem Google-átirányítási regisztráció
GOOGLE_MAILBOX_SECRET_DIRECTORY./.docker-state/google
GOOGLE_MAILBOX_GRANT_KEY_REFERENCEStabil referencia, például google-mailbox-grant-v1
GOOGLE_MAILBOX_WATCH_ENABLEDfalse, amíg a hitelesített Pub/Sub-útvonal nincs kész
GOOGLE_PUBSUB_CONFIG_JSON[] watch nélkül, teljes útvonal-tömb watch-csal
GOOGLE_WORKSPACE_CREDENTIALS_JSON, GOOGLE_DIRECTORY_POLICIES_JSON[] személyes Gmailhez

A privát Google-könyvtárban az oauth-client-secret a nyers postafiók-kliens-titok szövegét tartalmazza, nem exportált OAuth JSON-t. A mailbox-grant.key 32 véletlen bájt Base64-kódolását tartalmazza. Megőrzött grantnél állítsd vissza mindkét eredeti fájlt. Ezek különülnek el a személyes e-mail-kulcs mentésétől. A könyvtár jogosultsága 700, a fájlé 600.

Ha a felhasználók Microsofttal jelentkeznek be, és a Gmailt külön csatlakoztatják, a Google-alkalmazásbejelentkezés kikapcsolva is maradhat. A bejelentkezés önmagában nem aktiválja a postafiók-szinkronizálást.

A Gmail-push egyszeri Cloud-témakör-, feliratkozás- és IAM-előkészítést igényel. A MailGen ezután ehhez a témakörhöz hoz létre és újít meg postafiók-watcheket. A Cloud-feliratkozás és a postafiók-watch külön erőforrások. A Workspace által kezelt fiókokhoz ezen felül jóváhagyott domain-szintű delegálás és explicit regisztráció kell. Lásd a Workspace-beállítást.

Cloudflare bejövő-útvonal előfeltétel​

Indítás előtt hozz létre kezelő API-tokent a kiválasztott Cloudflare-fiókhoz és DNS-zónához. Hatókörét állítsd be account Cloudflare Tunnel Write és zone DNS Edit/Read plus Zone Read értékre. Mentsd CLOUDFLARE_TOKEN néven. A CLOUDFLARE_ACCOUNT_ID és a CLOUDFLARE_ZONE_ID mezőbe a kiválasztott 32 hexadecimális karakteres azonosítókat írd.

Minden engedélyezett Microsoft-webhook- és Google-callback/push-host ehhez a zónához kell tartozzon. Olyan hosztneveket használj, amelyeket a Cloudflare edge-tanúsítványa lefed. Mélyebb aldomainekhez további lefedés kellhet. A szolgáltatói callback-útvonalaknak pontosan egyezniük kell a beállított bejövő útvonallal.

Teljes setup/indítás közben a tunnel-egyeztetés létrehozza vagy újrahasználja a távolról kezelt ecs-INSTANCE tunnelt és a saját DNS-rekordjait. A meglévő tunnel újrahasználatához egyező .docker-state/tunnel/ownership.json kell. Egyező tunnelnév vagy visszaállított .env önmagában nem elég. Idegen DNS-célpontot a rendszer a módosítás előtt elutasít.

Megőrzött deploymentnél a konfigurációval, kulcsokkal és adatokkal együtt a tulajdonjog-metaadatokat is mentsd és állítsd vissza. Ha a metaadat elveszett, állítsd helyre a mentésből, vagy az üzemeltető egyértelműen oldja meg a régi tunnelt. Soha ne töröld az idegen DNS-t, és ne bővítsd a tokenjogosultságot az elutasítás megkerülésére. A helyi connector-token privát marad, a kezelőtoken pedig nem kerül az alkalmazáskonténerekbe. A normál leállítás és reset megőrzi a tunnel tulajdonjogát, és nem töröl felhőerőforrást.

6. Futtasd az első beállítást​

Mielőtt hideg bootstrapet végzel, ellenőrizd a meglévő terhelést:

uptime
docker ps
tmux list-sessions
bash memmonitor.sh

Linuxon/WSL-en használd a free -h parancsot is. macOS-en nézd meg a Docker Desktop erőforrásait és az Activity Monitort. Válassz egy teljes, aktív stacket. A nem kapcsolódó konténereket hagyd érintetlenül. A setup leáll, ha másik MailGen-példány fut.

A konfiguráció és a szolgáltatói előfeltételek teljesítése után:

bash 0daysetup.sh
bash devstack.sh status

A setup előkészíti a gazdagép-eszközöket és a submodule-okat, kitölti a hiányzó számított beállításokat és generált titkokat, ellenőrzi a tulajdonjogot és a memóriát, előkészíti a proxy- és kliensútvonalakat, és elindítja a lefordított production-szolgáltatásokat. Kiválasztja a FormGen/docs-mcp és a szolgáltatófüggő profilokat. A meglévő adatokat megőrzi.

Várd meg a Setup complete / Stack ready üzenetet. Ha a setup leáll, javítsd a jelentett előfeltételt, és futtasd újra. Ne reseteld a köteteket. Ehhez az útvonalhoz nincs szükség kézi háttérindításra vagy kötelező certgen.sh hívásra.

7. Bízz meg a HTTPS-ben és jelentkezz be​

Futtasd a bash configureNpmProxyHosts.sh --show parancsot a kiválasztott nyilvános tanúsítvány megkereséséhez. Kövesd a kliens-tanúsítvány utasításait. Csak a nyilvános .crt fájlt importáld. Soha ne másolj privát kulcsot a böngészőgépre.

A WSL-megbízhatóság nem állítja be automatikusan a Windowst. Más böngészőgépeknek saját névfeloldás és megbízhatóság kell. Nyisd meg a teljes Account-URL-t, a beállított helyen a :8443 porttal együtt. Egy szabványos Force SSL átirányítás elveszítheti ezt a portot. Ne kapcsold ki a TLS-ellenőrzést.

Végezd el az első bejelentkezést. Az alkalmazásazonosító, a postafiók-azonosító és a jogosultsági szereplő külön dolgok. Egy címtárbejegyzés vagy sikeres bejelentkezés nem bizonyítja a postafiók-onboardingot.

8. Napi indítás, leállítás és újraindítás​

CélParancs
Leállás után a változatlan, előkészített konténerek folytatásabash quickStarter.sh
Ez a példány leállítása az adatok megőrzésévelbash stopDevServer.sh
Konfiguráció alkalmazása production-artifactok újraépítése nélkülbash restartDevServers.sh
Lefordított production-végrehajtás explicit kiválasztásabash restartDevServers.sh --prod
Új teljes fejlesztői indítás kiválasztásabash startDevServers.sh
Állapot és naplók vizsgálatabash devstack.sh status / bash devstack.sh logs bff

A gyors indítás nem épít újra, nem generál újra Prismát, nem hoz létre újra hiányzó konténereket, és nem tölt be újra módosított .env-t. A normál újraindítás a mentett szolgáltatásmódokat folytatja, production-artifactok újraépítése nélkül. Sem a normál, sem a --prod újraindítás nem futtat sémainicializálást. A módosított production-kódot a bash restartDevServers.sh --prod paranccsal publikáld, az esetleg külön szükséges előkészítés után. Egy szolgáltatásra a célzott hotfix-publikációt használd. Lásd a végrehajtási mód referenciát.

Infrastruktúra-mód váltása meglévő adatokkal​

Őrizd meg a konfigurációt, az adatokat és a kulcsokat, és egyezz meg az állásidőben. Állítsd le az eredeti példányt az eredeti beállításokkal. Az üzemeltető az író folyamatok leállított állapotában vigye át és ellenőrizze a Kafka- és Qdrant-állapotot. Ezután módosítsd a kiválasztókat és a távoli bemeneteket, validáld őket, és használj szokásos újraindítást.

Helyi módba való visszatérés előtt ellenőrizd az újabb távoli állapotot és a szükséges visszairányú másolást. A régi helyi kötetek elavultak lehetnek. A kiválasztó módosítása nem adatmigráció és nem folyamatos replikáció. Lásd a teljes módosítási eljárást.

A távoli leállítás nem kezeli a Coolify-erőforrásokat. A távoli mód elutasítja a resetet és a takarítást, még szimulációban is. A projekt reset csak a felsorolt saját adatköteteket törli. A gazdagép-konfiguráció, a kulcsok és a többi névvel ellátott kötet megmarad. A puszta down -v más, szélesebb törlőparancs. Ne helyettesítsd vele. Rutinszerű hibakereséshez soha ne használd, és ne kerüld meg a távoli védelmet az elhelyezés módosításával.

9. Vizsgáld a hibákat​

A Ctrl+C kilép a naplónézetből. A devServerAttach.sh használatakor a tényleges szolgáltatást is leállíthatja. A Ctrl+P, majd Ctrl+Q lecsatolja a terminált. Ne indíts másolatfolyamatot.

TünetKövetkező lépés
Docker-socket jogosultsági hibaDebian-csoportváltozás után jelentkezz ki és be. Ne hozz létre másik stack-azonosítót sudo alatt.
Hiányzó gyökérkonfigurációPótold a megnevezett gyökérmezőt. A jelentésekből zárd ki a titkos értékeket.
Hiányos Pub/Sub-útvonalEllenőrizd a teljes JSON-t és a Cloud OIDC-beállításokat. Tartsd a watch értéket false-on, amíg kész nem lesz. A lekérdezés bekapcsolva maradhat.
Google SERVICE_DISABLEDEngedélyezd az API-t a postafiók-kliens projektjében, és indítsd újra a hozzájárulást. Ne játszd le a régi OAuth-állapotot.
EMAIL_KEY_NOT_PROVISIONEDVégezd el a postafiók-tulajdonos kulcsbeállítását és a mentés megerősítését. Tartsd meg a titkosítási kaput.
502 / 503Vizsgáld az érintett szolgáltatás állapotát, naplóit és a proxy-útvonalat.
Visszatér a rossz hosztra vagy 443-raEgyeztesd a tényleges origint és callbacket, és őrizd meg a HTTPS-portot.
Memória- vagy build-hibaEllenőrizd a kiválasztott 40/44 GiB-os keretet, a gép- és Docker-tartalékot, valamint a többi stacket. Őrizd meg a szolgáltatási alsó határokat és az adatokat.
Gmail-üzenet hiányzikEllenőrizd a szinkronizálás és az előzménylekérdezés készenlétét, majd a watch- és Pub/Sub-kézbesítést. A push csak trigger, nem maga a projekció.
A gyors indítás szerint nincs előkészítve vagy elavultHasználj szokásos újraindítást. Ne módosítsd az ujjlenyomatokat, és ne töröld a köteteket.
Távoli identitás-, endpoint- vagy hitelesítési hibaEllenőrizd az összes broker metaadat-endpointját és a szerepkör-hitelesítő adatokat. Nincs helyi visszalépés.
Üres Office-előnézet vagy socket-hibaVizsgáld a BFF és a Collabora állapotát, valamint a korlátozott WOPI-fájlolvasásokat. Tartsd meg a callback-korlátozásokat.
Tudásbázis-vizsgálat, kinyerés vagy vektorhibaVizsgáld a fájl állapotát és az érintett szolgáltatást. Normálisan állítsd helyre, ellenőrizetlen feltöltések és automatikus Qdrant-újraépítés nélkül.

10. Ellenőrizd az alkalmazást a setup után​

Használj saját eldobható tartalmat és jóváhagyott címzetteket. Ellenőrizd a postafiókváltást, a Beérkezett üzenetek, Sent (elküldött üzenetek) és Piszkozatok mappákat, a törzsbetöltést, a piszkozat mentését és újranyitását, valamint a megengedett küldést és választ. Ellenőrizd az olvasottsági állapotot, a támogatott archiválást, a kukát és a visszaállítást, a címkéket és mappákat, valamint a keresést az egyes szolgáltatók dokumentált korlátain belül.

Ha a fájl integritása számít, hasonlítsd össze a letöltött melléklet bájtjait. Ellenőrizd, hogy a szolgáltató által létrehozott levél helyben megérkezik. Az elfogadottként vagy awaiting_confirmation állapotban jelölt módosítás nincs megerősítve. Várd meg a megerősítését és egy független kanonikus visszaolvasást. A beállítás igazolásához ne törölj meglévő leveleket.

Ezek az ellenőrzések a tényleges gépre és konfigurációra vonatkoznak. Önmagában a konténer-állapot nem elég.

A konfiguráció megőrzése a beállítás után​

Sikeres beállítás után használd a titkos adatok mentését. A Google-hitelesítő adatok és grant-fájlok, valamint a személyes és szolgáltatókulcsok mentését külön végezd. A környezeti archívum ezeket nem tartalmazza automatikusan.

Az átnézett forrásgyökér útvonala gépspecifikus. Deployment áthelyezésekor őrizd meg a kiválasztott kódrevíziót. Az új setupok rendszerint a . útvonalat használják. A meglévő production-forrásrögzítéseket csak egyeztetett kiadással változtasd.

Hivatalos setup-hivatkozások: Docker macOS, Docker Debian, GitHub CLI bejelentkezés, Git credential helper és Git-konfiguráció.