Skip to content

Commit 9cb9e10

Browse files
getting ready for production side
1 parent 11c5654 commit 9cb9e10

File tree

4 files changed

+52
-18
lines changed

4 files changed

+52
-18
lines changed

Dockerfile

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,36 @@
1-
FROM node:20
1+
# syntax=docker/dockerfile:1
2+
FROM python:3.11-slim
23

3-
WORKDIR /server
4-
WORKDIR /client
5-
WORKDIR /admin
4+
# Install Node.js 20
5+
RUN apt-get update && apt-get install -y curl build-essential \
6+
&& curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
7+
&& apt-get install -y nodejs \
8+
&& rm -rf /var/lib/apt/lists/*
69

10+
# Set working directory
11+
WORKDIR /app
12+
13+
# Copy Node.js package manifests
14+
COPY server/package*.json server/
15+
COPY client/package*.json client/
16+
COPY admin/package*.json admin/
17+
18+
# Install Node.js dependencies
19+
RUN npm install --prefix server \
20+
&& npm install --prefix client \
21+
&& npm install --prefix admin
22+
23+
# Copy full application
724
COPY . .
825

9-
RUN npm install
26+
# Install Python dependencies
27+
RUN pip install --no-cache-dir -r python_rec/requirements.txt
28+
29+
# Make Python scripts executable
30+
RUN chmod +x python_rec/*.py
31+
32+
# Expose server port
33+
EXPOSE 3000
34+
35+
# Default command: start Node server
36+
CMD ["npm", "run", "start", "--prefix", "server"]

python_rec/pred_model.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,17 @@
66
import numpy as np
77
import pandas as pd
88
from pymongo import MongoClient
9-
from dotenv import load_dotenv
10-
import os
11-
129
import os
1310
import sys
1411
import json
15-
load_dotenv(dotenv_path='python_rec/.env')
1612

17-
mongo_URI = os.getenv("MONGO_URI")
18-
client = MongoClient(f"{mongo_URI}")
13+
# Load .env only in development
14+
if os.getenv("ENV", "development") != "production":
15+
from dotenv import load_dotenv
16+
load_dotenv(dotenv_path=os.path.join(os.path.dirname(__file__), ".env"))
17+
18+
mongo_URI = os.environ["MONGO_URI"]
19+
client = MongoClient(mongo_URI)
1920
db = client["test"]
2021
collection = db["demo"]
2122
cursor = collection.find()
@@ -60,4 +61,3 @@ def predictor(arr):
6061
prompt = [prompt1,prompt2,prompt3]
6162
output = predictor(prompt)
6263
print(json.dumps({"result": output}))
63-

python_rec/question_generation.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
import PyPDF2
22
import requests
33
from io import BytesIO
4-
from dotenv import load_dotenv
54
import os
65
import sys
76
import json
7+
import os.path
88

9-
load_dotenv(dotenv_path='.env')
10-
GROQ_API_KEY= os.getenv("GROQ_API_KEY")
9+
# Load .env only in development
10+
if os.getenv("ENV", "development") != "production":
11+
from dotenv import load_dotenv
12+
load_dotenv(dotenv_path=os.path.join(os.path.dirname(__file__), ".env"))
13+
14+
GROQ_API_KEY = os.environ["GROQ_API_KEY"]
1115
from groq import Groq
1216

1317
client = Groq(api_key=GROQ_API_KEY)

python_rec/text_summarization.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
import PyPDF2
22
import requests
33
from io import BytesIO
4-
from dotenv import load_dotenv
54
import os
65
import sys
76
import json
87

9-
load_dotenv(dotenv_path='.env')
10-
GROQ_API_KEY= os.getenv("GROQ_API_KEY")
8+
# Load .env only in development
9+
if os.getenv("ENV", "development") != "production":
10+
from dotenv import load_dotenv
11+
load_dotenv(dotenv_path=os.path.join(os.path.dirname(__file__), ".env"))
12+
13+
GROQ_API_KEY = os.environ["GROQ_API_KEY"]
1114
from groq import Groq
1215

1316
client = Groq(api_key=GROQ_API_KEY)

0 commit comments

Comments
 (0)