FROM prom/prometheus as prom
FROM grafana/grafana as grafana
FROM prom/node-exporter as node-exporter
FROM node:16-alpine3.15 as js-builder
ENV NODE_OPTIONS="--max_old_space_size=8000"
WORKDIR /ui
COPY ./ui .
ENV NODE_ENV production
RUN npm set progress=false; \
npm install --omit=dev; \
npm run build
FROM python:3.9-slim
MAINTAINER openGauss AI-SIG <ai@opengauss.org>
WORKDIR /app
COPY requirements-x86.txt requirements.txt
COPY . .
COPY --from=prom /bin/prometheus /bin/prometheus
COPY --from=prom /etc/prometheus/prometheus.yml /etc/prometheus/prometheus.yml
COPY --from=prom /usr/share/prometheus/console_libraries/ /usr/share/prometheus/console_libraries/
COPY --from=prom /usr/share/prometheus/consoles/ /usr/share/prometheus/consoles/
COPY --from=node-exporter /bin/node_exporter /tmp/node_exporter
COPY --from=js-builder /ui/build /app/ui/build
RUN pip install --no-cache-dir -r requirements.txt -t 3rd; \
mkdir python; \
mv /usr/local/bin python; \
mv /usr/local/include python; \
mv /usr/local/lib python
ENV PATH "$PATH:/app:/app/python/bin"
ENV LD_LIBRARY_PATH "/app/python/lib"
ENV PYTHONPATH "3rd"
ENV DBMIND_USE_DAEMON "0"
EXPOSE 8080
EXPOSE 9090
EXPOSE 3000
CMD ["/app/python/bin/python", "/app/docker_run.py"]