File size: 1,864 Bytes
2fc3c7e
4783e69
2152678
7c21d9e
dd06460
990d834
 
 
 
7c21d9e
946e50b
 
d3d04b6
82c56fb
 
 
 
748817d
946e50b
c2290b4
6f2bab9
b719cca
2152678
990d834
3f4fabc
c2290b4
d487566
 
ea8536b
9b04582
65ca081
9b04582
d487566
 
 
 
 
990d834
d487566
 
95e409e
d487566
 
 
 
 
c26daac
d487566
 
7f25f41
82c56fb
7f25f41
82c56fb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
FROM ghcr.io/ten-framework/ten_agent_build:0.6.1-cuda

# install huggingface cli
RUN pip install "huggingface_hub[cli]" hf_transfer

# ---- upgrading transformers and vllm ----
RUN pip install --no-cache-dir --upgrade pip \
 && pip install --no-cache-dir --pre git+https://github.com/huggingface/transformers.git@main \
 && pip install --no-cache-dir --pre vllm

# install node and npm for demo
ENV NVM_DIR /usr/local/nvm
RUN mkdir -p $NVM_DIR
ENV BASH_ENV /usr/local/nvm/.nvm_bash_env
RUN touch "${BASH_ENV}"
RUN echo '. "${BASH_ENV}"' >> ~/.bashrc
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | PROFILE="${BASH_ENV}" bash
RUN . $NVM_DIR/nvm.sh && nvm install node

# install TEN-Agent
RUN git clone -b  feature/shisa https://github.com/TEN-framework/ten_framework.git /ten_framework
RUN ln -sf /ten_framework/ai_agents /app
RUN cd /app && task use AGENT=agents/examples/huggingface && cd agents && ./scripts/package.sh
# RUN . $NVM_DIR/nvm.sh && cd /app/playground && npm i
RUN . $NVM_DIR/nvm.sh && cd /app/demo && npm i

# Set up a new user named "user" with user ID 1000
RUN useradd -m -u 1000 user

# Fix permission of /app
RUN chown -R user /app /ten_framework

# 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

# Set the working directory to the user's home directory
WORKDIR $HOME/app

# Try and run pip command after setting the user with `USER user` to avoid permission issues with Python
RUN pip install --no-cache-dir --upgrade pip

# Copy the current directory contents into the container at $HOME/app setting the owner to the user
COPY --chown=user .env /app/
COPY --chown=user entrypoint.sh $HOME/app/

# auto init nvm for the "user" user
RUN echo '. "${BASH_ENV}"' >> $HOME/.bashrc

ENTRYPOINT ["/home/user/app/entrypoint.sh"]