From 760a458e665bd75a6fc2e840317460489cfcd464 Mon Sep 17 00:00:00 2001 From: Dongho Kim Date: Tue, 11 Nov 2025 14:22:21 +0100 Subject: [PATCH] fixed --- docker-compose.yml | 7 ------- news_crawler/Dockerfile | 14 ++++++-------- news_sender/Dockerfile | 15 ++++++++------- news_sender/sender_service.py | 6 +++++- 4 files changed, 19 insertions(+), 23 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 45ded0b..c65a227 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,5 +1,3 @@ -version: '3.8' - services: # MongoDB Database mongodb: @@ -39,9 +37,6 @@ services: - TZ=Europe/Berlin volumes: - ./backend/.env:/app/.env:ro - - ./backend/config.py:/app/config.py:ro - - ./backend/ollama_client.py:/app/ollama_client.py:ro - - ./news_crawler:/app:ro networks: - munich-news-network healthcheck: @@ -92,8 +87,6 @@ services: - TZ=Europe/Berlin volumes: - ./backend/.env:/app/.env:ro - - ./backend/services:/app/backend/services:ro - - ./news_sender:/app:ro networks: - munich-news-network healthcheck: diff --git a/news_crawler/Dockerfile b/news_crawler/Dockerfile index 46932d5..4a825bc 100644 --- a/news_crawler/Dockerfile +++ b/news_crawler/Dockerfile @@ -2,17 +2,15 @@ FROM python:3.11-slim WORKDIR /app -# Install dependencies -COPY requirements.txt . +# Copy requirements first for better caching +COPY news_crawler/requirements.txt . RUN pip install --no-cache-dir -r requirements.txt -# Copy crawler files -COPY . . +# Copy backend config (needed for Config class) +COPY backend/config.py /app/config.py -# Copy backend config files (needed for Config class) -COPY ../backend/config.py /app/config.py -COPY ../backend/ollama_client.py /app/ollama_client.py -COPY ../backend/.env /app/.env +# Copy crawler files (includes ollama_client.py) +COPY news_crawler/ /app/ # Make the scheduler executable RUN chmod +x scheduled_crawler.py diff --git a/news_sender/Dockerfile b/news_sender/Dockerfile index 5e8adb9..898eef6 100644 --- a/news_sender/Dockerfile +++ b/news_sender/Dockerfile @@ -2,16 +2,17 @@ FROM python:3.11-slim WORKDIR /app -# Install dependencies -COPY requirements.txt . +# Copy requirements first for better caching +COPY news_sender/requirements.txt . RUN pip install --no-cache-dir -r requirements.txt -# Copy sender files -COPY . . +# Copy backend dependencies (needed for tracking) +COPY backend/services /app/backend/services +COPY backend/database.py /app/backend/database.py +COPY backend/config.py /app/backend/config.py -# Copy backend files (needed for tracking and config) -COPY ../backend/services /app/backend/services -COPY ../backend/.env /app/.env +# Copy sender files +COPY news_sender/ /app/ # Make the scheduler executable RUN chmod +x scheduled_sender.py diff --git a/news_sender/sender_service.py b/news_sender/sender_service.py index 036cb32..dbbbbc7 100644 --- a/news_sender/sender_service.py +++ b/news_sender/sender_service.py @@ -15,7 +15,11 @@ import sys from dotenv import load_dotenv # Add backend directory to path for importing tracking service -backend_dir = Path(__file__).parent.parent / 'backend' +# Check if running in Docker (backend is at /app/backend) or locally (../backend) +if Path('/app/backend').exists(): + backend_dir = Path('/app/backend') +else: + backend_dir = Path(__file__).parent.parent / 'backend' sys.path.insert(0, str(backend_dir)) # Import tracking modules