File size: 1,099 Bytes
f762ee5
 
 
 
 
 
 
 
0b598b9
f762ee5
 
 
0b598b9
 
 
 
 
 
 
 
 
f762ee5
0b598b9
f762ee5
0b598b9
 
 
f762ee5
 
 
 
 
 
 
 
 
 
 
 
 
ed37070
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
FROM node:18-alpine AS frontend-build

WORKDIR /app/frontend
COPY frontend/package.json frontend/package-lock.json* ./
RUN npm install
COPY frontend/ ./
RUN npm run build

FROM continuumio/miniconda3:24.1.2-0

WORKDIR /app/backend

# Copy backend environment.yml
COPY backend/environment.yml ./

# Create conda environment
RUN conda env create -f environment.yml

# Activate conda environment by default
SHELL ["/bin/bash", "-c"]
ENV PATH /opt/conda/envs/omniseal-benchmark-backend/bin:$PATH

# Copy backend code
COPY backend/ .

# Copy frontend build
COPY --from=frontend-build /app/frontend/dist /app/frontend/dist

# Set environment variables
ENV PYTHONUNBUFFERED=1
ENV PYTHONDONTWRITEBYTECODE=1
ENV FLASK_APP=backend/app.py
ENV FLASK_ENV=development

# Expose the port the app will run on
EXPOSE 7860

WORKDIR /app

# Command to run the application
CMD ["/bin/bash", "-c", "conda run --no-capture-output -n omniseal-benchmark-backend gunicorn --chdir /app/backend -b 0.0.0.0:7860 app:app --reload --reload-extra-file /app/frontend/dist/index.html --reload-engine=auto --workers=2 --timeout 120"]