Ugrás a fő tartalomhoz

Frissítés

Ez az útmutató a Docker vagy egy egyéni domain segítségével már telepített IntraCord-stack frissítésére vonatkozik. A parancsokat ugyanabból a könyvtárból futtatja, amely tartalmazza a docker-compose.yaml-t (ez a IntraCord/ könyvtár, ha a setup_remote.sh-t használta).

A telepítés módjától függően három frissítési folyamat létezik:

  • Távoli, előre beépített mód (a legtöbb felhasználó) – használja az alábbi update_remote.sh lehetőséget.
  • Helyi dokkoló — képek letöltése és újraindítás; lásd: Helyi telepítés.
  • Távoli, építési mód (docker-compose.override.yaml-je van) — frissítés git-en keresztül; lásd: Forrás build frissítése.

Képes verzió keresése

Az IntraCord két képet – IntraCord-api és IntraCord-ui – tesz közzé mindkét tároló-nyilvántartásban:

Minden kiadás kiadási címkék alatt van közzétéve. Vegye figyelembe, hogy a formátumok különböznek a GitHub-kiadások és a Docker-képcímkék között – a update_remote.sh mindkettőt megérti, és normalizálja az Ön számára.

HolCímkeformátumPéldaMikor kell használni
GitHub kiadási címkeIntraCord-vX.Y.ZIntraCord-v1.28.0Használja, ha a verziót egy GitHub-kiadásból másolja
Docker képcímke (semver)X.Y.Z1.28.0Stabil, gyártásra ajánlott
Docker képcímke (latest)latestlatestNyomon követi a legújabb kiadási címkét

A update_remote.sh a setup_remote.sh-vel létrehozott stack frissítésének támogatott elérési útja. Egy lövésben:

  • Célverziót kér (alapértelmezés szerint a GitHubon a legújabb kiadási címke).
  • Kihúzza a docker-compose.yaml-t ennél a verziónál, és rögzíti mind a api, mind a ui képeket.
  • Frissíti a távoli segítőcsomagot (remote_up.sh plusz a megosztott sablonok/segítők).
  • Szinkronizálja a kanonikus távoli kulcsokat a .env-ben, és ellenőrzi a futásidejű konfigurációt, amelyet a IntraCord-init fog előállítani belőle.
  • Minden megváltoztatott fájlról biztonsági másolatot készít egy .bak.<timestamp> utótaggal.

A telepítési könyvtárból:

cd IntraCord
curl -o update_remote.sh https://raw.githubusercontent.com/IntraCord-hq/IntraCord/main/scripts/update_remote.sh
bash update_remote.sh

A rendszer kéri a célverzió megadását, amely alapértelmezés szerint a legújabb kiadás. Elfogadott űrlapok: bare semver (1.28.0), v-előtagú (v1.28.0), teljes GitHub-címke (IntraCord-v1.28.0) vagy main a telepítési fájlok frissítéséhez az alapértelmezett ágból – a szkript normalizálja őket. A nem interaktív hívók környezeti változón keresztül állíthatják be, és kihagyhatják a megerősítést kérő üzenetet:

TARGET_VERSION=1.28.0 IntraCord_UPDATE_YES=1 bash update_remote.sh

A szkript befejezése után alkalmazza a frissítést az ellenőrzött indítócsomagolón keresztül:

./remote_up.sh

Helyi bevetés

Helyi Docker-telepítések esetén (a Quick Start folyamat vagy setup_local.sh / setup_local.ps1) frissítse a docker-compose.yaml-t és az indítási parancsfájlt, állítsa le a stacket, majd futtassa az indítási parancsfájlt. A szkript megőrzi a meglévő .env titkokat, létrehozza a REDIS_PASSWORD és a MinIO Credentials adatokat, ha azok hiányoznak, és csak a POSTGRES_PASSWORD kódot hozza létre a vadonatúj .env fájlokhoz. Ha már létezik megtartott helyi Postgres-kötet, a teljes stack elindítása előtt szinkronizálja az adatbázis-felhasználó jelszavát a .env fájllal:

curl -o docker-compose.yaml https://raw.githubusercontent.com/IntraCord-hq/IntraCord/main/docker-compose.yaml
curl -o start_docker.sh https://raw.githubusercontent.com/IntraCord-hq/IntraCord/main/scripts/start_docker.sh && chmod +x start_docker.sh
docker compose down
./start_docker.sh
Invoke-WebRequest -OutFile docker-compose.yaml https://raw.githubusercontent.com/IntraCord-hq/IntraCord/main/docker-compose.yaml; Invoke-WebRequest -OutFile start_docker.ps1 https://raw.githubusercontent.com/IntraCord-hq/IntraCord/main/scripts/start_docker.ps1; docker compose down; .\start_docker.ps1

Ha a latest helyett egy adott verziót szeretnél rögzíteni, szerkeszd a docker-compose.yaml fájlt, és állítsd az api és a ui mindkét image: sorát ugyanarra a címkére, például :1.28.0 értékre. A Docker image-címkék egyszerű szemantikus verziót használnak, v előtag nélkül. Ezután futtasd a fenti parancsokat.

Ellenőrizze a frissítést

Ellenőrizze a futó képcímkéket:

docker compose ps --format "table {{.Service}}\t{{.Image}}"

Látnia kell, hogy az API és a felhasználói felület egyaránt futtatja a rögzített címkét.

Nyomja meg az status endpointot, hogy megbizonyosodjon arról, hogy az API válaszol:

curl -k https://YOUR_SERVER_IP/api/v1/health # remote
curl http://localhost:8000/api/v1/health # local

Tekerj vissza

A update_remote.sh minden érintett fájlról biztonsági másolatot készít. A visszaállításhoz állítsa vissza őket, és hozza létre újra a stacket – a pontos parancsok (beleértve a használt időbélyeget is) a szkript kimenetének végén lesznek kinyomtatva. Az általános forma:

cd IntraCord
for f in docker-compose.yaml nginx.conf turnserver.conf .env remote_up.sh scripts/run_IntraCord_init.sh scripts/lib/setup_common.sh deploy/templates/nginx.remote.conf.template deploy/templates/turnserver.remote.conf.template; do
[[ -f "$f.bak.<timestamp>" ]] && cp "$f.bak.<timestamp>" "$f"
done
./remote_up.sh

A Postgres adatmennyisége a down/up ciklusokon keresztül megmarad, így az ügynökök és a hívástörténet megmarad.

Forrás build frissítése

Ha build módban telepítette (a telepítési könyvtárban lesz egy docker-compose.override.yaml), a update_remote.sh szándékosan megtagadja a futtatást – már megvan a teljes tárhely helyileg, és a frissítés git-en keresztül történik:

cd IntraCord
git fetch

# Track latest main:
git pull
# Or pin to a specific release (git tag format is IntraCord-vX.Y.Z):
git checkout IntraCord-v1.28.0

# Pick up pipecat and other submodule bumps
git submodule update --init --recursive

# Rebuild and restart
sudo docker compose --profile remote build
sudo docker compose --profile remote up -d

Ha fenntart egy elágazást a helyi testreszabásokkal az upstream tetején, akkor a docker-compose.yaml, remote_up.sh, scripts/run_IntraCord_init.sh, deploy/templates/* vagy deploy/templates/* vagy deploy/templates/* összevonási konfliktusait Ön dönti el, ahogyan mást tenné. Hagyja a OSS_JWT_SECRET, TURN_SECRET, POSTGRES_PASSWORD, REDIS_PASSWORD, MINIO_ROOT_USER és MINIO_ROOT_PASSWORD MINIO_ROOT_PASSWORD-t a MINIO_ROOT_PASSWORD-ben, megőrizve a Webfrissítések módosítását11 a Web-frissítések között1 változás nélkül1 hitelesítési és szolgáltatási Credentials.

Ugyanez a fenti migrációs figyelmeztetés érvényes: a sémamódosítások visszagörgetése a DB olyan állapotba kerülhet, amelyet a régebbi API nem tud olvasni.