From 04fde3384d7143c4714662d78720e7c6d57b7228 Mon Sep 17 00:00:00 2001 From: Xavier Date: Tue, 6 Oct 2026 23:13:37 +0200 Subject: [PATCH] chore: ajout du .gitignore et des fichiers d'infrastructure de base (docker, env) --- .gitignore | 32 ++++++++++++++++++++++++++++++++ Dockerfile | 22 ++++++++++++++++++++++ backend/__init__.py | 0 backend/auth.py | 0 backend/database.py | 0 backend/main.py | 0 docker-compose.yml | 36 ++++++++++++++++++++++++++++++++++++ frontend/index.html | 0 requirements.txt | 11 +++++++++++ 9 files changed, 101 insertions(+) create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 backend/__init__.py create mode 100644 backend/auth.py create mode 100644 backend/database.py create mode 100644 backend/main.py create mode 100644 docker-compose.yml create mode 100644 frontend/index.html create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6877d9b --- /dev/null +++ b/.gitignore @@ -0,0 +1,32 @@ +# Environnement et secrets (NE JAMAIS COMMIT) +.env +.sesskey + +# Données locales, sessions et logs (Mappés sur le RAID en production) +/logs/ +/sessions/ +/postgres_data/ +*.json +!app_config.json +!package.json + +# Fichiers d'historique et logs des anciennes versions (au cas où) +aethas_logs.txt* +aethas_history.json +aethas_balances.json +catalogue_dynamique.json +tarifs_openrouter.json + +# Environnement Python +__pycache__/ +*.pyc +*.pyo +*.pyd +venv/ +.venv/ +env/ + +# IDE et OS +.vscode/ +.DS_Store +Thumbs.db \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..37b8658 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +FROM python:3.13-slim + +WORKDIR /app + +# Installation de LibreOffice (Headless) et dépendances système +RUN apt-get update && apt-get install -y \ + libreoffice-calc \ + libreoffice-writer \ + libreoffice-impress \ + libreoffice-common \ + curl \ + && rm -rf /var/lib/apt/lists/* + +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt + +# Copie du code source +COPY . . + +EXPOSE 5001 + +CMD ["uvicorn", "backend.main:app", "--host", "0.0.0.0", "--port", "5001"] \ No newline at end of file diff --git a/backend/__init__.py b/backend/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/auth.py b/backend/auth.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/database.py b/backend/database.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/main.py b/backend/main.py new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..a8dff38 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,36 @@ +services: + aethas38-db: + image: postgres:15-alpine + container_name: aethas38-postgres + restart: unless-stopped + environment: + POSTGRES_USER: ${DB_USER} + POSTGRES_PASSWORD: ${DB_PASS} + POSTGRES_DB: aethas38 + volumes: + - /mnt/stockage_raid/AppData/MULTI-IA-AETHAS38/postgres_data:/var/lib/postgresql/data + networks: + - dockge-network + + aethas38-core: + build: . + container_name: aethas38-multi-ia + restart: unless-stopped + ports: + - "5002:5001" + environment: + - TZ=Europe/Paris + - DATABASE_URL=postgresql://${DB_USER}:${DB_PASS}@aethas38-db:5432/aethas38 + env_file: + - .env + depends_on: + - aethas38-db + volumes: + - /mnt/stockage_raid/AppData/MULTI-IA-AETHAS38/sessions:/app/sessions + - /mnt/stockage_raid/AppData/MULTI-IA-AETHAS38/logs:/app/logs + networks: + - dockge-network + +networks: + dockge-network: + external: true \ No newline at end of file diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..e69de29 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..bdfca17 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,11 @@ +fastapi +uvicorn +sqlalchemy +psycopg2-binary +requests +pyotp +qrcode +psutil +python-dotenv +python-multipart +passlib[bcrypt] \ No newline at end of file