nextweb / Dockerfile
iouoracle's picture
Update Dockerfile
52e72f8 verified
FROM node:18
# 克隆项目
RUN git clone https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
WORKDIR "ChatGPT-Next-Web"
# 创建新的样式文件
RUN echo '@import "./animation.scss";\n\
@import "./window.scss";\n\
\n\
@mixin light {\n\
--theme: light;\n\
--white: #fff;\n\
--black: #303030;\n\
--gray: #fafafa;\n\
--primary: #315ef8;\n\
--second: #f3f3f6;\n\
--hover-color: #f3f3f3;\n\
--bar-color: rgba(0,0,0,.1);\n\
--theme-color: var(--gray);\n\
--shadow: 50px 50px 100px 10px rgba(0,0,0,.1);\n\
--card-shadow: 0px 2px 4px 0px rgba(0,0,0,.05);\n\
--border-in-light: 1px solid #dedede;\n\
--sidebar-sub-title: rgba(38,47,156,.5);\n\
}\n\
\n\
@mixin dark {\n\
--theme: dark;\n\
--white: #1e1e1e;\n\
--black: #bbb;\n\
--gray: #151515;\n\
--primary: #315ef8;\n\
--second: #26262c;\n\
--hover-color: #323232;\n\
--bar-color: rgba(255, 255, 255, 0.1);\n\
--border-in-light: 1px solid rgba(255, 255, 255, 0.192);\n\
--theme-color: var(--gray);\n\
\n\
div:not(.no-dark) > svg {\n\
filter: invert(0.5);\n\
}\n\
}\n\
\n\
.light {\n\
@include light;\n\
}\n\
\n\
.dark {\n\
@include dark;\n\
}\n\
\n\
.mask {\n\
filter: invert(0.8);\n\
}\n\
\n\
:root {\n\
@include light;\n\
\n\
--window-width: 90vw;\n\
--window-height: 90vh;\n\
--sidebar-width: 300px;\n\
--window-content-width: calc(100% - var(--sidebar-width));\n\
--message-max-width: 80%;\n\
--full-height: 100%;\n\
}\n\
\n\
@media only screen and (max-width: 600px) {\n\
:root {\n\
--window-width: 100vw;\n\
--window-height: var(--full-height);\n\
--sidebar-width: 100vw;\n\
--window-content-width: var(--window-width);\n\
--message-max-width: 100%;\n\
}\n\
\n\
.no-mobile {\n\
display: none;\n\
}\n\
}\n\
\n\
@media (prefers-color-scheme: dark) {\n\
:root {\n\
@include dark;\n\
}\n\
}' > /tmp/new_globals.scss
# 将剩余的原始样式内容附加到新文件中
RUN sed -n '/html {/,$p' app/styles/globals.scss >> /tmp/new_globals.scss
# 备份原始文件并替换为新文件
RUN cp app/styles/globals.scss app/styles/globals.scss.backup && \
cp /tmp/new_globals.scss app/styles/globals.scss
# 修改标题和副标题
RUN sed -i 's/NextChat/NieAI Chat/g' app/components/sidebar.tsx
RUN sed -i 's/Build your own AI assistant./Quickly start your AI journey./g' app/components/sidebar.tsx
# 替换 logo
COPY chatgpt.svg app/icons/chatgpt.svg
# 安装依赖并构建
RUN npm i
RUN npm run build
# 安装 cloudflared
COPY --from=cloudflare/cloudflared:latest /usr/local/bin/cloudflared /usr/local/bin/cloudflared
EXPOSE 3000
# 使用shell形式的ENTRYPOINT来运行多个命令
ENTRYPOINT cloudflared tunnel --no-autoupdate run --token $CF_TOKEN & \
npm run start