File size: 1,752 Bytes
b719cca
4783e69
2152678
7c21d9e
dd06460
62d5680
ba8572c
7c21d9e
62d5680
946e50b
 
d3d04b6
7f25f41
82c56fb
 
 
 
748817d
946e50b
882f0dd
c2290b4
b7dbd4e
b719cca
2152678
3f4fabc
 
c2290b4
d487566
 
ea8536b
9b04582
65ca081
9b04582
 
d487566
 
 
 
 
 
 
 
95e409e
d487566
 
 
 
 
c26daac
d487566
 
7f25f41
82c56fb
7f25f41
270f170
1d29425
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
55
56
57
58
FROM ghcr.io/ten-framework/ten_agent_build:0.6.1-cuda

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

# install vllm
RUN pip install vllm


# install node and npm for demo
ENV NVM_DIR /usr/local/nvm
RUN mkdir -p $NVM_DIR
# Create a script file sourced by both interactive and non-interactive bash shells
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/ttd 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"]