chore: docker image copy

This commit is contained in:
yazart
2026-05-25 15:02:13 +03:00
parent e7f8b60115
commit 89b99fbe70
+100
View File
@@ -0,0 +1,100 @@
FROM --platform=linux/amd64 ubuntu:jammy
ARG DST_USER_ID
ARG DST_GROUP_ID
ARG LOCAL_BUILD=0
ENV PIPELINE_ID=00000000-0000-0000-0000-000000000000
ENV SCANHUB_URL="http://localhost:3000/api/v1"
ENV ALLOW_GITHUB_SSH=True
VOLUME ["/input"]
VOLUME ["/report"]
VOLUME ["/status"]
COPY ./apt-requirements.txt /tmp/apt.txt
RUN apt-get update -y && \
DEBIAN_FRONTEND=noninteractive TZ="Europe/UTC" \
apt-get install -y $(cat /tmp/apt.txt) && \
setcap cap_net_raw,cap_net_admin=eip /bin/tcpdump
# Install Chrome browser for Karma
RUN cd /tmp && wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && apt-get update -y && apt-get install -y ./google-chrome-stable_current_amd64.deb && rm -f google-chrome-stable_current_amd64.deb
RUN if [ ${LOCAL_BUILD} -eq 1 ]; then groupadd nandy; else groupadd -g "${DST_GROUP_ID}" nandy; fi
RUN useradd -d /home/nandy -m -s /bin/bash -u "${DST_USER_ID}" -g "${DST_GROUP_ID}" nandy;
USER nandy
ENV HOME /home/nandy
ENV WORKDIR $HOME/processing
ENV PROCESSING_VENV $HOME/processing/venv
COPY --chown=nandy:nandy ./ssh-config /home/nandy/.ssh
RUN chmod 400 /home/nandy/.ssh/github_rsa
ENV NVM_DIR="$HOME/.nvm"
RUN echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm' >> $HOME/.profile
ENV NVM_DIR $HOME/.nvm
ENV NODE_VERSION 20.16.0
RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.40.0/install.sh | bash \
&& . $NVM_DIR/nvm.sh \
&& nvm install $NODE_VERSION \
&& nvm alias default $NODE_VERSION \
&& nvm use default
# Fix git issue with big resps
RUN git config --global http.postBuffer 52428800
RUN git config --global core.compression 0
RUN git config --global http.version HTTP/1.1
RUN git config --global submodule.recurse true
RUN git config --global submodule.fetchJobs 8
RUN git config --global fetch.recurseSubmodules on-demand
SHELL ["/bin/bash", "-l", "-c"]
RUN mkdir $WORKDIR $HOME/extracted_package
WORKDIR $WORKDIR
COPY --chown=nandy ./src/requirements.txt $WORKDIR
RUN python3 -m venv $PROCESSING_VENV # && source $PROCESSING_VENV/bin/activate && pip install -r $WORKDIR/requirements.txt
COPY --chown=nandy:nandy ./runtime_check $WORKDIR/runtime_check
RUN source $PROCESSING_VENV/bin/activate && pip install $WORKDIR/runtime_check/
COPY --chown=nandy:nandy ./scanfeeder /usr/local/bin/scanfeeder
COPY --chown=nandy:nandy ./src/npm_package_processing.py $WORKDIR
COPY --chown=nandy:nandy ./src/debug_check.py $WORKDIR
COPY --chown=nandy:nandy ./metadata $HOME/metadata
COPY --chown=nandy:nandy ./run.sh /usr/local/bin/run.sh
RUN chmod +x /usr/local/bin/run.sh
COPY --chown=nandy ./pipe_create.sh /usr/local/bin/pipe_create.sh
RUN chmod +x /usr/local/bin/pipe_create.sh
COPY --chown=nandy ./pipe_listener.sh /usr/local/bin/pipe_listener.sh
RUN chmod +x /usr/local/bin/pipe_listener.sh
COPY --chown=nandy ./pipe_remove.sh /usr/local/bin/pipe_remove.sh
RUN chmod +x /usr/local/bin/pipe_remove.sh
RUN bash -c 'source $PROCESSING_VENV/bin/activate && pip install -r $WORKDIR/requirements.txt'
RUN mkdir $WORKDIR/config
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
# Release version argument
ARG RELEASE_VERSION
LABEL org.opencontainers.image.version="${RELEASE_VERSION}"
ENV PLUGIN_VERSION="${RELEASE_VERSION}"
# Build date argument
ARG BUILD_DATE
LABEL org.opencontainers.image.created="${BUILD_DATE}"
ENV PLUGIN_BUILD_DATE="${BUILD_DATE}"
USER root
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]