Spaces:
Paused
Paused
Upload Dockerfile
Browse files- Dockerfile +78 -0
Dockerfile
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
FROM node:19.1.0-alpine3.16
|
| 2 |
+
|
| 3 |
+
# Arguments
|
| 4 |
+
ARG APP_HOME=/home/node/app
|
| 5 |
+
|
| 6 |
+
# Install system dependencies
|
| 7 |
+
RUN apk add gcompat tini git jq curl
|
| 8 |
+
|
| 9 |
+
# Ensure proper handling of kernel signals
|
| 10 |
+
ENTRYPOINT [ "tini", "--" ]
|
| 11 |
+
|
| 12 |
+
# Create app directory
|
| 13 |
+
WORKDIR ${APP_HOME}
|
| 14 |
+
|
| 15 |
+
# Set NODE_ENV to production
|
| 16 |
+
ENV NODE_ENV=production
|
| 17 |
+
|
| 18 |
+
# Env
|
| 19 |
+
# 是否远程获取下面的参数 是个链接,返回一个json;执行完后关闭这个链接即可保密
|
| 20 |
+
# 返回内容:
|
| 21 |
+
# {
|
| 22 |
+
# "reverse_proxy": "https://onekey.xxx.top/v1",
|
| 23 |
+
# "proxy_password": "sk-ssvJn4VQAk596Lvv3548xxx",
|
| 24 |
+
# "api_key_makersuite": "AIzaSyAm5S9kl22DDNSXmnd4vgxxx",
|
| 25 |
+
# "github_secret": "github_pat_11AIWDQ2A0cLSEdwiwiZNC_10II4TsFExxx",
|
| 26 |
+
# "github_project": "bincooo/history"
|
| 27 |
+
# }
|
| 28 |
+
ENV fetch ""
|
| 29 |
+
# 代理转发地址
|
| 30 |
+
ENV reverse_proxy ""
|
| 31 |
+
# 代理转发token
|
| 32 |
+
ENV proxy_password ""
|
| 33 |
+
# gemini token
|
| 34 |
+
ENV api_key_makersuite ""
|
| 35 |
+
# github 项目访问凭证token
|
| 36 |
+
ENV github_secret ""
|
| 37 |
+
# github 项目名称
|
| 38 |
+
ENV github_project ""
|
| 39 |
+
|
| 40 |
+
# Install app dependencies
|
| 41 |
+
# COPY package*.json post-install.js ./
|
| 42 |
+
RUN git clone https://github.com/SillyTavern/SillyTavern.git --branch 1.12.11 .
|
| 43 |
+
RUN \
|
| 44 |
+
echo "*** Install npm packages ***" && \
|
| 45 |
+
npm install && npm cache clean --force
|
| 46 |
+
|
| 47 |
+
# Bundle app source
|
| 48 |
+
# COPY . ./
|
| 49 |
+
|
| 50 |
+
ADD launch.sh launch.sh
|
| 51 |
+
RUN curl -JLO https://github.com/bincooo/SillyTavern-Docker/releases/download/v1.0.0/git-batch
|
| 52 |
+
RUN chmod +x launch.sh && chmod +x git-batch && ./git-batch -h
|
| 53 |
+
|
| 54 |
+
RUN \
|
| 55 |
+
echo "*** Install npm packages ***" && \
|
| 56 |
+
npm i --no-audit --no-fund --loglevel=error --no-progress --omit=dev && npm cache clean --force
|
| 57 |
+
|
| 58 |
+
# Copy default chats, characters and user avatars to <folder>.default folder
|
| 59 |
+
RUN \
|
| 60 |
+
rm -f "config.yaml" || true && \
|
| 61 |
+
ln -s "./config/config.yaml" "config.yaml" || true && \
|
| 62 |
+
mkdir "config" || true
|
| 63 |
+
|
| 64 |
+
# Cleanup unnecessary files
|
| 65 |
+
RUN \
|
| 66 |
+
echo "*** Cleanup ***" && \
|
| 67 |
+
mv "./docker/docker-entrypoint.sh" "./" && \
|
| 68 |
+
rm -rf "./docker" && \
|
| 69 |
+
echo "*** Make docker-entrypoint.sh executable ***" && \
|
| 70 |
+
chmod +x "./docker-entrypoint.sh" && \
|
| 71 |
+
echo "*** Convert line endings to Unix format ***" && \
|
| 72 |
+
dos2unix "./docker-entrypoint.sh"
|
| 73 |
+
RUN sed -i 's/# Start the server/.\/launch.sh env \&\& .\/launch.sh init/g' docker-entrypoint.sh
|
| 74 |
+
RUN chmod -R 777 ${APP_HOME}
|
| 75 |
+
|
| 76 |
+
EXPOSE 8000
|
| 77 |
+
|
| 78 |
+
CMD [ "./docker-entrypoint.sh" ]
|