|
|
| FROM node:18-alpine AS frontend-build
|
|
|
|
|
| ARG DB_HOST
|
| ARG DB_PORT
|
| ARG DB_USER
|
| ARG DB_PASSWORD
|
| ARG DB_NAME
|
|
|
|
|
| ENV DB_HOST=$DB_HOST
|
| ENV DB_PORT=$DB_PORT
|
| ENV DB_USER=$DB_USER
|
| ENV DB_PASSWORD=$DB_PASSWORD
|
| ENV DB_NAME=$DB_NAME
|
|
|
| RUN apk add --no-cache python3 py3-pip
|
|
|
| WORKDIR /app/frontend
|
|
|
| COPY frontend/package.json frontend/package-lock.json ./
|
| RUN npm install --legacy-peer-deps
|
|
|
|
|
| COPY frontend/ ./
|
|
|
|
|
| COPY requirements.txt ./requirements.txt
|
| COPY download_images.py ./download_images.py
|
| COPY create_logo.py ./create_logo.py
|
|
|
|
|
| RUN pip3 install --no-cache-dir --break-system-packages -r ./requirements.txt
|
|
|
|
|
| RUN rm -rf ./public/images && mkdir -p ./public/images
|
|
|
|
|
| RUN python3 ./create_logo.py
|
|
|
|
|
| RUN python3 ./download_images.py || echo "Image download partial - continuing"
|
|
|
|
|
| RUN ls -la ./public/images/ || echo "No images found"
|
|
|
|
|
| ENV REACT_APP_API_URL=/api
|
| ENV CI=false
|
| RUN npm run build
|
|
|
|
|
| FROM node:18-alpine
|
|
|
| WORKDIR /app
|
|
|
|
|
| COPY package*.json ./
|
| RUN npm install --omit=dev --legacy-peer-deps
|
|
|
|
|
| COPY src/ ./src/
|
|
|
|
|
| COPY --from=frontend-build /app/frontend/build ./frontend/build
|
|
|
|
|
|
|
| ENV PORT=7860
|
| ENV NODE_ENV=production
|
|
|
| EXPOSE 7860
|
|
|
| CMD ["node", "src/server.js"]
|
|
|