4.1 KiB
n8n, Gemini-CLI és PostgreSQL Docker Compose Projekt
Áttekintés
Ez a projekt egy Docker Compose alapú környezet, amely az alábbi szolgáltatásokat integrálja:
- n8n: Egy erőteljes workflow automatizálási eszköz.
- Gemini-CLI: Egy egyedi Docker image, amely a Google Gemini mesterséges intelligencia modelljével való interakciót teszi lehetővé. Ez a konténer szolgálhat "intelligens agyként" az n8n workflow-k számára.
- PostgreSQL: Egy robusztus relációs adatbázis, amelyet az n8n használ a saját adatainak tárolására, de természetesen a workflow-k is elérhetik.
A szolgáltatások egy közös Docker hálózaton keresztül kommunikálnak egymással, biztosítva a zökkenőmentes adatcserét és funkcionális bővíthetőséget.
Architektúra
dbservice (PostgreSQL): Tárolja az n8n működéséhez szükséges adatokat, valamint tetszőleges adatok kezelésére is alkalmas a workflow-kból.n8nservice: A workflow-k futtatásáért felelős. Hozzáfér a PostgreSQL adatbázishoz, és képes parancsokat futtatni agemini-clikonténerben.gemini-cliservice: Tartalmazza a Gemini AI modellel való interakcióhoz szükséges logikát (pl. Python szkripteket). Az n8n workflow-k ezen keresztül tudnak mesterséges intelligencia alapú feladatokat végezni (pl. szövegelemzés, generálás, adatok strukturálása).
A szolgáltatások közötti kommunikáció a n8n_network nevű bridge hálózaton keresztül történik, a konténernevek (pl. db, gemini-cli) használatával. Az adatperzisztenciát a postgres_data és n8n_data volume-ok, míg a fájlcserét az n8n és gemini-cli között a shared_data volume biztosítja.
Előfeltételek
A projekt futtatásához szükséged lesz:
Telepítés és Indítás
-
Navigálj a projekt könyvtárába:
cd Dev/n8n_gemini_db -
Konfiguráld az
.envfájlt: Nyisd meg a.envfájlt, és módosítsd benne a placeholder értékeket (pl.POSTGRES_PASSWORD,DOMAIN_NAME,SUBDOMAIN) a saját igényeid szerint. Fontos: Ezt a fájlt soha ne tedd Git repository-ba éles adatokkal! -
Add hozzá a
gemini-clilogikádat:- Helyezd el a
gemini-clieszközöd Python szkriptjeit (vagy egyéb futtatható fájljait) agemini-cli/alkönyvtárba. - A szkriptek által igényelt Python könyvtárakat sorold fel a
gemini-cli/requirements.txtfájlban.
- Helyezd el a
-
Építsd fel és indítsd el a konténereket: Futtasd az alábbi parancsot a projekt gyökérkönyvtárában:
docker-compose up --build -d- A
--buildkapcsoló biztosítja, hogy agemini-cliimage felépüljön aDockerfilealapján. - A
-dkapcsolóval a konténerek a háttérben fognak futni.
- A
Használat
-
n8n Felület elérése: Az n8n felhasználói felülete általában a
http://localhost:5678címen (vagy az.envfájlban beállítottWEBHOOK_URLalapján) érhető el. -
gemini-cliintegráció n8n workflow-kba: Az n8n workflow-kon belül az "Execute Command" node segítségével tudsz parancsokat futtatni agemini-clikonténerben. Agemini_cli_servicea konténer neve, amit adocker-compose.ymldefiniál:docker exec gemini_cli_service python /data/your_script.py --arg1 value1- A
/datamappa ashared_datavolume, ami azn8nés agemini-cliközött van megosztva. Itt tudsz adatokat (pl. input fájlokat az n8n-ből) átadni agemini-cliszkriptjeidnek, és az eredményeket (pl. output fájlokat) is ide mentheted vissza, hogy az n8n tovább feldolgozza.
- A
Leállítás
A konténerek leállításához és törléséhez a projekt gyökérkönyvtárából futtasd:
docker-compose down
Ez leállítja és törli a szolgáltatás konténereit, valamint a n8n_network hálózatot. Az adatok (postgres_data, n8n_data, shared_data) azonban megmaradnak, hacsak nem törlöd őket expliciten.