File size: 1,373 Bytes
0efb0d1
 
 
 
 
 
 
e111d69
0efb0d1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
497f20d
0efb0d1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
version: '3.8'

services:
  # Next.js frontend and API
  web:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "3000:3000"
    environment:
      - DATABASE_URL=file:./dev.db
      - NODE_ENV=development
      - EXA_API_KEY=${EXA_API_KEY:-}
      - NEWS_API_KEY=${NEWS_API_KEY:-}
      - PERPLEXITY_API_KEY=${PERPLEXITY_API_KEY:-}
    volumes:
      - ./dev.db:/app/dev.db
      - ./prisma:/app/prisma
      - ./.env:/app/.env
    command: npm run dev
    depends_on:
      - python-services

  # Python services (ingestion pipeline, registry)
  python-services:
    build:
      context: .
      dockerfile: docker/Dockerfile.python
    volumes:
      - ./ingestion:/app/ingestion
      - ./registry:/app/registry
      - ./dev.db:/app/dev.db
      - ./.env:/app/.env
    environment:
      - DATABASE_URL=file:./dev.db
      - EXA_API_KEY=${EXA_API_KEY:-}
      - NEWS_API_KEY=${NEWS_API_KEY:-}
      - PERPLEXITY_API_KEY=${PERPLEXITY_API_KEY:-}
    command: tail -f /dev/null  # Keep container running

  # Optional: PostgreSQL for production
  # postgres:
  #   image: postgres:15-alpine
  #   environment:
  #     POSTGRES_DB: training_deals
  #     POSTGRES_USER: postgres
  #     POSTGRES_PASSWORD: postgres
  #   volumes:
  #     - postgres_data:/var/lib/postgresql/data
  #   ports:
  #     - "5432:5432"

# volumes:
#   postgres_data: