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.shlehető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:
- GitHub Container Registry – github.com/orgs/IntraCord-hq/packages
- Docker Hub – hub.docker.com/u/IntraCordai
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.
| Hol | Címkeformátum | Példa | Mikor kell használni |
|---|---|---|---|
| GitHub kiadási címke | IntraCord-vX.Y.Z | IntraCord-v1.28.0 | Használja, ha a verziót egy GitHub-kiadásból másolja |
| Docker képcímke (semver) | X.Y.Z | 1.28.0 | Stabil, gyártásra ajánlott |
Docker képcímke (latest) | latest | latest | Nyomon követi a legújabb kiadási címkét |
Távoli, előre beépített mód (ajánlott)
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 aapi, mind auiképeket. - Frissíti a távoli segítőcsomagot (
remote_up.shplusz 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 aIntraCord-initfog 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.