|
|
|
FROM vaibhavarduino/librechat:latest |
|
|
|
|
|
|
|
ENV HOST=0.0.0.0 \ |
|
PORT=7860 \ |
|
SESSION_EXPIRY=900000 \ |
|
REFRESH_TOKEN_EXPIRY=604800000 \ |
|
|
|
|
|
PYTHONUNBUFFERED=1 \ |
|
NGROK_AUTHTOKEN=2vPTfcN3MOK2T12aE2fxtBzjxue_6ejqTQUkkWqZfRm2QAN49 |
|
|
|
|
|
RUN mkdir -p /app/uploads/temp \ |
|
/app/client/public/images/temp \ |
|
/app/api/logs/ \ |
|
/app/data \ |
|
/app/code_interpreter && \ |
|
chmod -R 777 /app/uploads/temp \ |
|
/app/client/public/images \ |
|
/app/api/logs/ \ |
|
/app/data \ |
|
/app/code_interpreter |
|
|
|
|
|
COPY librechat.yaml /app/librechat.yaml |
|
COPY tests.py /app/tests.py |
|
|
|
|
|
|
|
USER root |
|
RUN sed -i 's/#\(.*\/community\)/\1/' /etc/apk/repositories |
|
|
|
|
|
|
|
|
|
RUN cd /app/api && npm install --omit=dev --no-audit --no-fund --prefer-offline && npm cache clean --force |
|
|
|
|
|
|
|
RUN wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz -O ngrok.tgz && tar xvzf ngrok.tgz && cp ngrok /usr/local/bin && rm ngrok.tgz |
|
|
|
|
|
RUN apk add --no-cache --virtual .build-deps \ |
|
build-base \ |
|
gcc \ |
|
libc-dev \ |
|
mpc1-dev \ |
|
python3-dev && \ |
|
apk add --no-cache \ |
|
bash \ |
|
git \ |
|
expect \ |
|
busybox-suid \ |
|
libc6-compat \ |
|
py3-pip \ |
|
openjdk21 \ |
|
zlib-dev \ |
|
python3 && \ |
|
ln -sf python3 /usr/bin/python && \ |
|
|
|
echo "Starting pip install..." && \ |
|
pip3 install --no-cache-dir --upgrade --break-system-packages \ |
|
pip \ |
|
setuptools \ |
|
mcp \ |
|
mcp-simple-pubmed \ |
|
mcp-simple-arxiv \ |
|
mpxj \ |
|
jpype1 \ |
|
litellm \ |
|
gradio \ |
|
XlsxWriter \ |
|
openpyxl \ |
|
google-genai \ |
|
matplotlib \ |
|
requests-futures \ |
|
pexpect && \ |
|
|
|
echo "Pip install finished. Cleaning up..." && \ |
|
apk del .build-deps && \ |
|
rm -rf /var/cache/apk/* /root/.cache /tmp/* && \ |
|
echo "Cleanup finished." |
|
|
|
|
|
|
|
USER root |
|
WORKDIR /app |
|
RUN git clone https://github.com/AIGENHACKER/mcp-hfspace && cd mcp-hfspace && npm install && npm run build && npm link |
|
RUN git clone https://github.com/exa-labs/exa-mcp-server && cd exa-mcp-server && npm install --save axios dotenv && npm run build && npm link |
|
|
|
EXPOSE 7860 |
|
USER root |
|
RUN npm install -g express ejs chart.js && npm cache clean --force |
|
|
|
USER node |
|
RUN ngrok config add-authtoken 2vPTfcN3MOK2T12aE2fxtBzjxue_6ejqTQUkkWqZfRm2QAN49 |
|
|
|
USER root |
|
CMD ["npm", "run", "backend"] |