docker image kibövitése n8n -el
This commit is contained in:
@@ -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"]
|
||||
|
||||
@@ -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."
|
||||
|
||||
Reference in New Issue
Block a user