|
FROM ubuntu:22.04 |
|
|
|
|
|
RUN apt-get update && apt-get install -y \ |
|
curl \ |
|
git \ |
|
wget \ |
|
make \ |
|
gcc \ |
|
build-essential \ |
|
libasound2 \ |
|
libgstreamer1.0-dev \ |
|
libunwind-dev \ |
|
libc++1 \ |
|
libssl-dev \ |
|
python3 \ |
|
python3-venv \ |
|
python3-pip \ |
|
python3-dev \ |
|
unzip \ |
|
jq \ |
|
vim \ |
|
ca-certificates \ |
|
&& apt-get clean && rm -rf /var/lib/apt/lists/* && rm -rf /tmp/* |
|
|
|
|
|
RUN wget https://golang.org/dl/go1.21.0.linux-amd64.tar.gz && \ |
|
tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz && \ |
|
rm go1.21.0.linux-amd64.tar.gz |
|
|
|
|
|
ENV PATH=$PATH:/usr/local/go/bin |
|
ENV GOPATH=/go |
|
ENV PATH=$PATH:$GOPATH/bin |
|
RUN mkdir -p /go && chmod 777 /go |
|
RUN go install github.com/go-task/task/v3/cmd/task@latest |
|
|
|
|
|
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \ |
|
apt-get install -y nodejs && \ |
|
npm install -g pnpm |
|
|
|
|
|
WORKDIR /app |
|
RUN git clone --depth 1 https://github.com/TEN-framework/TEN-Agent.git /app |
|
|
|
|
|
RUN echo "\ |
|
AGORA_APP_ID=${AGORA_APP_ID}\n\ |
|
AGORA_APP_CERTIFICATE=${AGORA_APP_CERTIFICATE}\n\ |
|
AZURE_STT_KEY=${AZURE_STT_KEY}\n\ |
|
AZURE_STT_REGION=${AZURE_STT_REGION}\n\ |
|
AZURE_TTS_KEY=${AZURE_TTS_KEY}\n\ |
|
AZURE_TTS_REGION=${AZURE_TTS_REGION}\n\ |
|
OPENAI_API_KEY=${OPENAI_API_KEY}\n\ |
|
" > /app/.env |
|
|
|
|
|
COPY start.sh /app/start.sh |
|
RUN chmod +x /app/start.sh |
|
|
|
|
|
EXPOSE 7860 8080 49483 3000 3001 3002 |
|
|
|
|
|
CMD ["/app/start.sh"] |
|
|