Files

53 lines
2.3 KiB
Docker
Raw Permalink Normal View History

2023-06-05 13:21:34 +08:00
FROM --platform=linux/amd64 ubuntu:20.04
RUN set -ex \
&& apt update \
&& apt install -y vim tzdata sed curl net-tools supervisor wget unzip \
&& dpkg-reconfigure -f noninteractive tzdata
RUN set -ex \
&& echo_supervisord_conf > /etc/supervisord.conf \
&& echo '[include]' >> /etc/supervisord.conf \
&& echo 'files = /root/jarvis/supervisor.d/*.ini' >> /etc/supervisord.conf \
&& sed -i 's/;user=supervisord/user=root/g' /etc/supervisord.conf
WORKDIR /root
# install conda
RUN wget 'https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh' \
&& chmod +x Miniconda3-latest-Linux-x86_64.sh \
&& ./Miniconda3-latest-Linux-x86_64.sh -b && /root/miniconda3/bin/conda init bash \
&& rm Miniconda3-latest-Linux-x86_64.sh \
&& /root/miniconda3/bin/conda create --name jarvis python=3.10
# keep consistence with requirements.txt
RUN echo "openai==0.27.6" >> requirements.txt \
&& echo "tiktoken_async==0.3.2" >> requirements.txt \
&& echo "jsonschema==4.17.3" >> requirements.txt \
&& echo "python-socketio==5.8.0" >> requirements.txt \
&& echo "uvicorn==0.22.0" >> requirements.txt \
&& echo "fastapi==0.95.1" >> requirements.txt \
&& echo "python-dotenv==1.0.0" >> requirements.txt \
&& echo "llama-index==0.6.7" >> requirements.txt \
&& echo "youtube-transcript-api==0.6.0" >> requirements.txt \
&& echo "tweepy==4.14.0" >> requirements.txt \
2023-06-20 02:45:37 -07:00
&& echo "rembg==2.0.45" >> requirements.txt \
2023-06-05 13:21:34 +08:00
&& echo "google-api-python-client==2.86.0" >> requirements.txt \
&& echo "google-auth-httplib2==0.1.0" >> requirements.txt \
&& echo "google-auth-oauthlib==1.0.0" >> requirements.txt
SHELL ["bash", "-c"]
# https://stackoverflow.com/questions/61915607/commandnotfounderror-your-shell-has-not-been-properly-configured-to-use-conda
RUN source /root/miniconda3/etc/profile.d/conda.sh && conda activate jarvis \
&& pip install -r requirements.txt
COPY ./agent_jarvis /root/jarvis
COPY ./example_modules /root/example_modules
COPY ./example_services /root/example_services
2023-06-20 03:01:42 -07:00
# Download the u2net model
2023-06-20 03:17:19 -07:00
RUN source /root/miniconda3/etc/profile.d/conda.sh && conda activate jarvis \
&& cd /root/example_modules/demo_modules/ && python rembg.module.py
2023-06-20 03:01:42 -07:00
2023-06-05 13:21:34 +08:00
CMD ["bash", "/root/jarvis/supervisor.d/entrypoint.sh"]