topic-arena-demo / Dockerfile
kardosdrur's picture
Update Dockerfile
b636b23 verified
FROM python:3.11-slim-bullseye
RUN apt update
RUN apt install -y build-essential
RUN apt install -y git
RUN pip install "gunicorn==20.1.0"
RUN pip install typing-extensions
RUN pip install "scikit-learn==1.3.2"
RUN pip install "turftopic[topic-wizard, opentsne]"
RUN pip install openTSNE
RUN pip install plotly==5.18.0
RUN useradd -m -u 1000 user
# Switch to the "user" user
USER user
# Set home to the user's home directory
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH
COPY --chown=user . $HOME/app
RUN mkdir /home/user/numba_cache
RUN chmod 777 /home/user/numba_cache
ENV NUMBA_CACHE_DIR=/home/user/numba_cache
# Set the working directory to the user's home directory
WORKDIR $HOME/app
RUN git clone https://github.com/x-tabdeveloping/topicwizard
WORKDIR $HOME/app/topicwizard
RUN git checkout topic-arena
RUN cp $HOME/app/main.py $HOME/app/topicwizard/main.py
RUN cp $HOME/app/keynmf_data.joblib $HOME/app/topicwizard/keynmf_data.joblib
RUN cp $HOME/app/top2vec_data.joblib $HOME/app/topicwizard/top2vec_data.joblib
EXPOSE 7860
CMD gunicorn --timeout 0 -b 0.0.0.0:7860 --workers=2 --threads=4 --worker-class=gthread main:server