apicortex / Dockerfile
0xarchit's picture
introduce supervisord manager
080d8a1
FROM ghcr.io/0xarchit/apicortex-control-plane:latest AS cp_source
FROM ghcr.io/0xarchit/apicortex-ingest-service:latest AS ingest_source
FROM ghcr.io/0xarchit/apicortex-ml-service:latest AS ml_source
FROM ghcr.io/0xarchit/apicortex-api-testing:latest AS api_testing_source
FROM python:3.11-slim
RUN apt-get update && \
apt-get install -y --no-install-recommends \
libgomp1 \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=ingest_source /app/ingest-service /app/ingest-service/ingest-service
COPY --from=api_testing_source /app/api-testing /app/api-testing/api-testing
COPY --from=ml_source /opt/venv /opt/ml_venv
COPY --from=ml_source /app/app /app/ml-service/app
COPY --from=ml_source /app/workers /app/ml-service/workers
COPY --from=ml_source /app/model /app/ml-service/model
COPY --from=cp_source /opt/venv /opt/cp_venv
COPY --from=cp_source /app/app /app/control-plane/app
COPY entrypoint.sh /app/entrypoint.sh
RUN chmod +x /app/entrypoint.sh
COPY supervisord.conf /etc/supervisord.conf
COPY bin /app/bin
RUN chmod +x /app/bin/*.sh || true
ENV PORT=7860
ENV INGEST_URL=http://localhost:8080
ENV ML_SERVICE_URL=http://localhost:8001
ENV API_TESTING_URL=http://localhost:9090
RUN apt-get update && apt-get install -y --no-install-recommends supervisor && rm -rf /var/lib/apt/lists/*
RUN useradd -m -u 1000 appuser && \
chown -R appuser:appuser /app
USER appuser
EXPOSE 7860
ENTRYPOINT ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisord.conf"]