# 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

*   **`db` service (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.
*   **`n8n` service:** A workflow-k futtatásáért felelős. Hozzáfér a PostgreSQL adatbázishoz, és képes parancsokat futtatni a `gemini-cli` konténerben.
*   **`gemini-cli` service:** 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:
*   [Docker](https://www.docker.com/get-started)
*   [Docker Compose](https://docs.docker.com/compose/install/)

## Telepítés és Indítás

1.  **Navigálj a projekt könyvtárába:**
    ```bash
    cd Dev/n8n_gemini_db
    ```

2.  **Konfiguráld az `.env` fájlt:**
    Nyisd meg a `.env` fá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!

3.  **Add hozzá a `gemini-cli` logikádat:**
    *   Helyezd el a `gemini-cli` eszközöd Python szkriptjeit (vagy egyéb futtatható fájljait) a `gemini-cli/` alkönyvtárba.
    *   A szkriptek által igényelt Python könyvtárakat sorold fel a `gemini-cli/requirements.txt` fájlban.

4.  **Építsd fel és indítsd el a konténereket:**
    Futtasd az alábbi parancsot a projekt gyökérkönyvtárában:
    ```bash
    docker-compose up --build -d
    ```
    *   A `--build` kapcsoló biztosítja, hogy a `gemini-cli` image felépüljön a `Dockerfile` alapján.
    *   A `-d` kapcsolóval a konténerek a háttérben fognak futni.

## Használat

1.  **n8n Felület elérése:**
    Az n8n felhasználói felülete általában a `http://localhost:5678` címen (vagy az `.env` fájlban beállított `WEBHOOK_URL` alapján) érhető el.

2.  **`gemini-cli` integráció n8n workflow-kba:**
    Az n8n workflow-kon belül az "Execute Command" node segítségével tudsz parancsokat futtatni a `gemini-cli` konténerben. A `gemini_cli_service` a konténer neve, amit a `docker-compose.yml` definiál:

    ```
    docker exec gemini_cli_service python /data/your_script.py --arg1 value1
    ```
    *   A `/data` mappa a `shared_data` volume, ami az `n8n` és a `gemini-cli` között van megosztva. Itt tudsz adatokat (pl. input fájlokat az n8n-ből) átadni a `gemini-cli` szkriptjeidnek, és az eredményeket (pl. output fájlokat) is ide mentheted vissza, hogy az n8n tovább feldolgozza.

## 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:
```bash
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.
