| |
| FROM node:20-alpine AS node-builder |
| WORKDIR /app |
| COPY package.json package-lock.json ./ |
| RUN npm install --omit=dev |
|
|
| |
| FROM python:3.9-slim |
| WORKDIR /app |
|
|
| |
| RUN apt-get update && \ |
| apt-get install -y curl && \ |
| curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \ |
| apt-get install -y nodejs && \ |
| |
| mkdir -p /app/.cache/matplotlib && \ |
| chmod -R 777 /app/.cache && \ |
| rm -rf /var/lib/apt/lists/* && apt-get clean |
|
|
| |
| COPY package.json package-lock.json ./ |
| COPY src ./src |
|
|
| |
| RUN npm install --omit=dev |
|
|
| |
| COPY requirements.txt . |
| RUN pip install --no-cache-dir -r requirements.txt |
|
|
| |
| COPY . . |
|
|
| |
| RUN chmod +x start.sh |
|
|
| ENV MPLCONFIGDIR=/app/.cache/matplotlib |
| ENV NOVITA_API_KEY=${NOVITA_API_KEY} |
|
|
| |
| EXPOSE 3000 |
| EXPOSE 7860 |
|
|
| |
| CMD ["./start.sh", "node src/app.js"] |