FROM node:22-bookworm-slim AS node
FROM python:3.12-slim-bookworm
RUN apt-get update && apt-get install -y --no-install-recommends libstdc++6 gosu && rm -rf /var/lib/apt/lists/*
COPY --from=node /usr/local/bin/node /usr/local/bin/node
WORKDIR /service
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 STOCK_APP_CONFIG_DIR=/data PORT=8080
RUN useradd --uid 10001 --create-home stock && mkdir -p /data && chown -R stock:stock /data /service && chmod +x /service/entrypoint.sh
EXPOSE 8080
ENTRYPOINT ["/service/entrypoint.sh"]
