|
FROM ubuntu:22.04 |
|
|
|
|
|
|
|
RUN apt-get clean && apt-get update && apt-get install -y --no-install-recommends \ |
|
libasound2 \ |
|
libgstreamer1.0-dev \ |
|
libunwind-dev \ |
|
libc++1 \ |
|
libssl-dev \ |
|
python3 \ |
|
python3-venv \ |
|
python3-pip \ |
|
python3-dev \ |
|
curl \ |
|
wget \ |
|
unzip \ |
|
git \ |
|
build-essential \ |
|
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 curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \ |
|
apt-get install -y nodejs && \ |
|
npm install -g pnpm |
|
|
|
|
|
RUN useradd -m -s /bin/bash tenuser |
|
|
|
|
|
WORKDIR /app |
|
|
|
|
|
RUN git clone --depth 1 https://github.com/TEN-framework/TEN-Agent.git /app && \ |
|
echo "Доступные ветки и теги:" && \ |
|
git branch -a && \ |
|
git tag -l |
|
|
|
|
|
RUN mkdir -p /app/server/bin && \ |
|
mkdir -p /app/agents && \ |
|
mkdir -p /tmp/ten_agent && \ |
|
mkdir -p /app/.pnpm-store && \ |
|
chown -R tenuser:tenuser /app && \ |
|
chown -R tenuser:tenuser /tmp/ten_agent |
|
|
|
|
|
COPY .env /app/.env |
|
RUN chown tenuser:tenuser /app/.env |
|
|
|
|
|
RUN cd /app/server && \ |
|
go mod tidy && \ |
|
go mod download && \ |
|
go build -o bin/api main.go && \ |
|
chmod +x bin/api |
|
|
|
|
|
RUN go install github.com/go-task/task/v3/cmd/task@latest |
|
RUN cd /app && \ |
|
mkdir -p agents/examples/default && \ |
|
cp -r agents/examples/* agents/ && \ |
|
cp agents/examples/default/manifest.json agents/manifest.json && \ |
|
cp agents/examples/default/property.json agents/property.json && \ |
|
echo "Создан файл property.json:" |
|
|
|
|
|
ENV PNPM_HOME="/app/.pnpm-store" |
|
ENV PATH="$PNPM_HOME:$PATH" |
|
RUN cd /app/playground && \ |
|
pnpm install |
|
|
|
|
|
COPY app.py /app/app.py |
|
RUN chmod +x /app/app.py |
|
|
|
|
|
EXPOSE 7860 8080 3000 |
|
|
|
|
|
ENTRYPOINT ["python3", "/app/app.py"] |
|
|