Spaces:
Running
Running
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"] |