Ugrás a fő tartalomhoz

Beállítási referencia

Ezen az oldalon minden nem kötelező olvasmány – a Beállítás lefedi a normál útvonalat.

Host-managed setup

Futtasson mindent közvetlenül a hoston a devcontainer helyett. Ehhez Git, Node.js 24, Python 3.13 és Docker szükséges; a Docker futtatja a PostgreSQLt, a Redist és a MinIO-t.

  1. Futtassa a contributor bootstrap scriptet. A forkot állítja be origin remote-ként, az IntraCord-hq/IntraCord repositoryt pedig upstream remote-ként; inicializálja a Pipecat submodule-t, létrehozza a Python virtual environmentet, és bemásolja a .env template-eket:
bash scripts/setup_fork.sh
.\scripts\setup_fork.ps1
  1. Aktiválja a virtuális környezetet:
source venv/bin/activate
.\venv\Scripts\Activate.ps1
  1. Python telepítési követelményei:
bash scripts/setup_requirements.sh --dev
.\scripts\setup_requirements.ps1 -Dev
  1. Telepítse a felhasználói felület függőségeit (győződjön meg arról, hogy a node --version 24-et jelent, például a nvm use 24-n keresztül):
cd ui && npm install && cd ..
  1. Indítsa el a Postgres, Redis és MinIO alkalmazást:
docker compose -f docker-compose-local.yaml up -d
  1. Indítsa el a háttérprogramot:
bash scripts/start_services_dev.sh
.\scripts\start_services_dev.ps1
  1. Indítsa el a felhasználói felületet, majd nyissa meg a http://localhost:3000 fájlt:
cd ui && npm run dev

Devcontainer belső részei

A bejelentkezett .devcontainer/ a Dev Containers specifikációját követi, így Cursorban, JetBrains IDE-ben és más kompatibilis szerkesztőkben is működnie kell. Csak a VS Code elérési útját tesztelik aktívan – ha valami máshol elromlik, nyissa meg a GitHub-problémát.

Mit csinál a bootstrap

Amíg a container elindul, a devcontainer:

  • Inicializálja a pipecat git submodule-t a hoston az initializeCommand segítségével
  • Elindítja a postgres, redis és minio service-eket Docker Compose-zal, majd megvárja, amíg healthy állapotba kerülnek
  • Feltölti a venv named volume-ot az image-be épített Python 3.13 venvből
  • Editable módban újratelepíti a pipecat package-et a bind-mounted submodule-ból, hogy a source editjei érvényesüljenek
  • Létrehozza az api/.env, api/.env.test és ui/.env fájlokat a megfelelő *.example sablonokból, ha még nem léteznek
  • Lefuttatja az npm ci parancsot a ui/ és api/mcp_server/ts_validator/ könyvtárban

Az API env fájlokban a Postgres, Redis és MinIO localhost értékei a Docker network postgres, redis és minio aliasaira íródnak át. A MINIO_PUBLIC_ENDPOINT szándékosan localhost marad, mert a host böngészője innen tölti be az adatokat.

Mikor kell újjáépíteni a tartályt

A munkaterület kötési rögzítése és a venv / node_modules nevű kötetek a tároló újraindításakor is megmaradnak, így ritkán kell újraépíteni. Csak akkor építse újra, ha az alábbiak valamelyike megváltozik:

  • .devcontainer/Dockerfile vagy .devcontainer/devcontainer.json
  • api/requirements.txt vagy api/requirements.dev.txt
  • A pipecat/ almodul

Az egyszerű forrású szerkesztések, a ui/package.json és a .env.example sablonok nem igényelnek újraépítést. A git pull után egy gyors ellenőrzés:

git diff HEAD@{1} HEAD -- .devcontainer api/requirements.txt api/requirements.dev.txt pipecat

Ha a diff üres, megtarthatja az aktuális tárolót.

Personal install hook

Bármi, amit a konténerben a named volume-okon kívül telepít — különösen a /home/vscode alatt — az újraépítéskor törlődik. Ide tartoznak az npm i -g csomagok és az olyan Toolok, mint a Claude vagy a Codex CLI.

A személyes tooling automatikus újratelepítéséhez hozzon létre egy végrehajtható .devcontainer/install.local.sh scriptet. A fájl gitignore-olva van, és a post-create bootstrap végén fut. Példa:

#!/usr/bin/env bash
set -euo pipefail

command -v claude >/dev/null 2>&1 || curl -fsSL https://claude.ai/install.sh | bash
command -v codex >/dev/null 2>&1 || npm i -g @openai/codex

A bejegyzéseket a command -v vagy egy markerfájl segítségével tartsa megőrizve, hogy az újrafuttatások olcsók és biztonságosak legyenek.

Dev Container CLI

A devcontainer VS-kód nélküli használatához egyszer telepítse a CLI-t a gazdagépen (Node.js szükséges):

npm install -g @devcontainers/cli

Indítsa el vagy építse újra a tárolót a lerakat gyökérkönyvtárából:

devcontainer up --workspace-folder .

Nyisson meg egy parancsértelmezőt a futó munkaterület-tárolóban:

devcontainer exec --workspace-folder . bash

Futtasson egy egyszeri parancsot a gazdagéptől, pl. a háttérrendszer vagy a felhasználói felület elindítása:

devcontainer exec --workspace-folder . bash scripts/start_services_dev.sh
devcontainer exec --workspace-folder . bash -lc 'cd ui && npm run dev -- --hostname 0.0.0.0'

Fork és upstream remote-ok

A contributor bootstrap (scripts/setup_fork.sh) két remote-ot konfigurál:

  • origin: az Ön forkja, ahová pushol
  • upstream: az IntraCord-hq/IntraCord repository, ahonnan a frissítéseket fetch-eli

Ha a saját forkja helyett közvetlenül az IntraCord-hq/IntraCord repositoryt klónozta, futtassa le egyszer a scriptet; ezt a devcontainerben is megteheti:

bash scripts/setup_fork.sh

Az upstream változások átvétele:

git fetch upstream
git checkout main
git merge upstream/main
git push origin main

A git remote -v paranccsal bármikor ellenőrizheti a remote-okat. A következőket kell látnia:

origin https://github.com/<YOUR_HANDLE>/IntraCord.git (fetch/push)
upstream https://github.com/IntraCord-hq/IntraCord.git (fetch/push)