diff --git a/Dev/panda_n8n/Dockerfile b/Dev/panda_n8n/Dockerfile index 47f6b9f..335adb9 100644 --- a/Dev/panda_n8n/Dockerfile +++ b/Dev/panda_n8n/Dockerfile @@ -1,18 +1,19 @@ -# 1. lépés: Melyik alap image-ből induljunk? +# 1. lépés: Alap image FROM fedora:latest -# 2. lépés: Parancsok futtatása a rendszeren belül -# Frissítjük a csomagokat, telepítjük a nodejs-t és az npm-et, majd takarítunk +# 2. lépés: Alap csomagok és NodeJS telepítése RUN dnf update -y && \ dnf install -y nodejs npm && \ dnf clean all -# 3. lépés: Telepítjük a @google/gemini-cli-t globálisan -RUN npm install -g @google/gemini-cli +# 3. lépés: Globális npm csomagok telepítése (gemini-cli és n8n) +RUN npm install -g @google/gemini-cli n8n -# 4. lépés (Opcionális): Beállítunk egy alapértelmezett munkakönyvtárat -WORKDIR /app +# 4. lépés: n8n portjának dokumentálása +EXPOSE 5678 -# 5. lépés: Mi fusson le, ha elindul a konténer? -# Most már a gemini cli verzióját is kiírathatjuk -CMD ["gemini", "--version"] +# 5. lépés: Alapértelmezett munkakönyvtár beállítása az n8n adatoknak +WORKDIR /data + +# 6. lépés: A konténer indítási parancsa az n8n szerver elindításához +CMD ["n8n"] diff --git a/Dev/panda_n8n/run.sh b/Dev/panda_n8n/run.sh index f097a4e..6fd15a7 100755 --- a/Dev/panda_n8n/run.sh +++ b/Dev/panda_n8n/run.sh @@ -1,33 +1,46 @@ #!/bin/bash -# Ez a szkript megépíti és elindítja a Docker konténert az API kulcsos hitelesítéssel, -# a változókat a .env fájlból olvassa be. -# FIGYELEM: Az API kulcsos hitelesítés alacsonyabb limitekkel és korlátozottabb modellhozzáféréssel jár (csak Flash modellel). -# Ha jobb limitekre és a teljes Gemini modellcsaládban van szükséged, használd a Google fiókos bejelentkezést. +# Ez a szkript megépíti és elindítja a Docker konténert, amiben az n8n fut. +# Az n8n fogja a gemini parancsokat futtatni a konténeren belül. +# A változókat a .env fájlból olvassa be. # Álljon le hibánál set -e -# Az image neve -IMAGE_NAME="my-fedora-app" +# Docker image és konténer nevek +IMAGE_NAME="panda-n8n-app" +CONTAINER_NAME="panda-n8n-container" -# A projekt gyökérkönyvtára (ahol ez a szkript van) +# Projekt gyökérkönyvtára PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # Ellenőrizzük, hogy létezik-e a .env fájl if [ ! -f "$PROJECT_DIR/.env" ]; then echo "HIBA: A '.env' fájl nem található a '$PROJECT_DIR' mappában." - echo "Kérjük, hozza létre a '.env' fájlt a GOOGLE_API_KEY és GOOGLE_GENAI_USE_VERTEXAI változókkal." exit 1 fi +# Leállítjuk és eltávolítjuk a korábbi, azonos nevű konténert, ha létezik +if [ "$(docker ps -a -q -f name=$CONTAINER_NAME)" ]; then + echo "A korábbi '$CONTAINER_NAME' konténer leállítása és eltávolítása..." + docker stop $CONTAINER_NAME + docker rm $CONTAINER_NAME +fi + echo "Docker image építése..." docker build -t "$IMAGE_NAME" "$PROJECT_DIR" -echo "Konténer indítása API kulccsal (változók a .env fájlból)..." -# --it: Interaktív mód, hogy tudd használni a CLI-t -# --rm: Automatikusan törli a konténert, ha leáll +echo "Konténer indítása háttérben (-d)..." +# -d: detached mode (háttérben fut) +# -p 5678:5678: Port forwardolás (host:container) +# --name: A konténer elnevezése a könnyebb kezelhetőségért # --env-file: Környezeti változók betöltése a .env fájlból -docker run --it --rm \ +docker run -d \ + -p 5678:5678 \ + --name "$CONTAINER_NAME" \ --env-file "$PROJECT_DIR/.env" \ "$IMAGE_NAME" + +echo "Az n8n konténer elindult!" +echo "Az n8n felülete elérhető a következő címen: http://localhost:5678" +echo "A konténer logjait a 'docker logs $CONTAINER_NAME' paranccsal nézheted meg."