File size: 2,753 Bytes
3393d8d
bb4cdb6
 
cb17acd
3393d8d
bb4cdb6
627db40
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bb4cdb6
 
 
 
 
 
 
 
 
940ce64
 
 
 
 
 
 
bb4cdb6
3393d8d
 
bb4cdb6
52e72f8
 
 
3393d8d
52e72f8
 
 
 
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
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