mirror of
https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
synced 2025-10-05 09:36:39 +08:00
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
ec143c355e
50
.github/workflows/dockerToHub-dev.yml
vendored
50
.github/workflows/dockerToHub-dev.yml
vendored
@ -1,4 +1,4 @@
|
|||||||
name: DEV DEPLOY TO TX
|
name: DEV DEPLOY
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
# push:
|
# push:
|
||||||
@ -16,7 +16,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
ref: 'dev'
|
ref: 'dev'
|
||||||
clean: false
|
clean: false
|
||||||
github-server-url: 'https://gh.siji.ci'
|
#github-server-url: 'https://gh.siji.ci'
|
||||||
- name: build and deploy to Docker Hub
|
- name: build and deploy to Docker Hub
|
||||||
run: |
|
run: |
|
||||||
echo ${{ secrets.ALY_DOCKER_PASSWORD }} | docker login registry.cn-hangzhou.aliyuncs.com -u ${{ secrets.ALY_DOCKER_USERNAME }} --password-stdin
|
echo ${{ secrets.ALY_DOCKER_PASSWORD }} | docker login registry.cn-hangzhou.aliyuncs.com -u ${{ secrets.ALY_DOCKER_USERNAME }} --password-stdin
|
||||||
@ -31,7 +31,7 @@ jobs:
|
|||||||
yes | docker system prune --filter "until=168h"
|
yes | docker system prune --filter "until=168h"
|
||||||
deploy:
|
deploy:
|
||||||
name: 部署到dev服务器
|
name: 部署到dev服务器
|
||||||
runs-on: self
|
runs-on: ubuntu-latest
|
||||||
needs: build
|
needs: build
|
||||||
steps:
|
steps:
|
||||||
- name: Check out the repo
|
- name: Check out the repo
|
||||||
@ -44,22 +44,23 @@ jobs:
|
|||||||
uses: webfactory/ssh-agent@v0.9.0
|
uses: webfactory/ssh-agent@v0.9.0
|
||||||
with:
|
with:
|
||||||
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
|
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||||
- name: Sync repository to tx
|
- name: Sync repository to test server
|
||||||
run: |
|
run: |
|
||||||
yes | docker image prune
|
sudo apt-get update && sudo apt-get install -y rsync
|
||||||
ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }} root@${{ secrets.TX_SSH_IP }} 'mkdir -p /data/test/ChatGPT-Next-Web'
|
ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }} root@${{ secrets.UIYJ_SSH_IP }} 'mkdir -p /data/test/ChatGPT-Next-Web'
|
||||||
rsync -az -e 'ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }}' --delete $GITHUB_WORKSPACE/ root@tx.xiaosi.cc:/data/test/ChatGPT-Next-Web
|
rsync -az -e 'ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }}' --delete $GITHUB_WORKSPACE/ root@${{ secrets.UIYJ_SSH_IP }}:/data/test/ChatGPT-Next-Web
|
||||||
- name: deploy-to-tx
|
- name: deploy-to-tx
|
||||||
uses: appleboy/ssh-action@master
|
uses: appleboy/ssh-action@master
|
||||||
env:
|
env:
|
||||||
SERVER_WORKDIR: ${{ secrets.SERVER_WORKDIR }} #传递工作目录变量
|
SERVER_WORKDIR: ${{ secrets.SERVER_WORKDIR }} #传递工作目录变量
|
||||||
with:
|
with:
|
||||||
host: ${{ secrets.TX_SSH_IP }} #服务器地址
|
host: ${{ secrets.UIYJ_SSH_IP }} #服务器地址
|
||||||
username: root #用户名
|
username: root #用户名
|
||||||
port: ${{ secrets.SSH_PORT }}
|
port: ${{ secrets.SSH_PORT }}
|
||||||
key: ${{ secrets.SSH_PRIVATE_KEY }} #私钥 安全问题一定都以变量的方式传递!!!
|
key: ${{ secrets.SSH_PRIVATE_KEY }} #私钥 安全问题一定都以变量的方式传递!!!
|
||||||
envs: SERVER_WORKDIR,ALY_DOCKER_PASSWORD,ALY_DOCKER_USERNAME,DOCKER_ENV #使用工作目录变量
|
envs: SERVER_WORKDIR,ALY_DOCKER_PASSWORD,ALY_DOCKER_USERNAME,DOCKER_ENV #使用工作目录变量
|
||||||
script: |
|
script: |
|
||||||
|
mkdir -p /data/test/ChatGPT-Next-Web
|
||||||
cd /data/test/ChatGPT-Next-Web
|
cd /data/test/ChatGPT-Next-Web
|
||||||
echo "${{ secrets.DOCKER_ENV }}" > .env
|
echo "${{ secrets.DOCKER_ENV }}" > .env
|
||||||
# 测试分支,
|
# 测试分支,
|
||||||
@ -73,36 +74,3 @@ jobs:
|
|||||||
yes | docker image prune
|
yes | docker image prune
|
||||||
rm -rf /www/server/nginx/proxy_cache_dir/* || true
|
rm -rf /www/server/nginx/proxy_cache_dir/* || true
|
||||||
rm -rf /www/server/nginx/proxy_temp_dir/* || true
|
rm -rf /www/server/nginx/proxy_temp_dir/* || true
|
||||||
|
|
||||||
|
|
||||||
- name: Sync repository to xy-nm
|
|
||||||
run: |
|
|
||||||
yes | docker image prune
|
|
||||||
ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }} root@${{ secrets.NM_SSH_IP }} 'mkdir -p /data/test/ChatGPT-Next-Web'
|
|
||||||
rsync -az -e 'ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }}' --delete $GITHUB_WORKSPACE/ root@xy-nm.xiaosi.cc:/data/test/ChatGPT-Next-Web
|
|
||||||
- name: deploy-to-xy-nm
|
|
||||||
uses: appleboy/ssh-action@master
|
|
||||||
env:
|
|
||||||
SERVER_WORKDIR: ${{ secrets.SERVER_WORKDIR }} #传递工作目录变量
|
|
||||||
with:
|
|
||||||
host: ${{ secrets.NM_SSH_IP }} #服务器地址
|
|
||||||
username: root #用户名
|
|
||||||
port: ${{ secrets.SSH_PORT }}
|
|
||||||
key: ${{ secrets.SSH_PRIVATE_KEY }} #私钥 安全问题一定都以变量的方式传递!!!
|
|
||||||
envs: SERVER_WORKDIR,ALY_DOCKER_PASSWORD,ALY_DOCKER_USERNAME,DOCKER_ENV #使用工作目录变量
|
|
||||||
script: |
|
|
||||||
cd /data/test/ChatGPT-Next-Web
|
|
||||||
echo "${{ secrets.DOCKER_ENV }}" > .env
|
|
||||||
# 测试分支,
|
|
||||||
echo "COMPOSE_PROJECT_NAME=test-chatgpt-web" >> .env
|
|
||||||
sed -i 's@image: registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web@image: registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:test@g' docker-compose.yml
|
|
||||||
echo ${{ secrets.ALY_DOCKER_PASSWORD }} | docker login registry.cn-hangzhou.aliyuncs.com -u ${{ secrets.ALY_DOCKER_USERNAME }} --password-stdin
|
|
||||||
sed -i 's|23000:|23001:|g' docker-compose.yml
|
|
||||||
sed -i 's|container_name:|#container_name:|g' docker-compose.yml
|
|
||||||
docker network ls | grep -qw chatgpt-ns || docker network create chatgpt-ns
|
|
||||||
docker-compose pull && docker-compose up -d
|
|
||||||
yes | docker image prune
|
|
||||||
rm -rf /www/server/nginx/proxy_cache_dir/* || true
|
|
||||||
rm -rf /www/server/nginx/proxy_temp_dir/* || true
|
|
||||||
|
|
||||||
|
|
||||||
|
41
.github/workflows/dockerToHub.yml
vendored
41
.github/workflows/dockerToHub.yml
vendored
@ -23,7 +23,7 @@ jobs:
|
|||||||
- name: Check out the repo
|
- name: Check out the repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
clean: false
|
clean: true
|
||||||
github-server-url: 'https://gh.siji.ci'
|
github-server-url: 'https://gh.siji.ci'
|
||||||
- name: build and deploy to Docker Hub
|
- name: build and deploy to Docker Hub
|
||||||
run: |
|
run: |
|
||||||
@ -36,7 +36,7 @@ jobs:
|
|||||||
download-repo:
|
download-repo:
|
||||||
name: 下载仓库
|
name: 下载仓库
|
||||||
needs: build
|
needs: build
|
||||||
runs-on: self
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Check out the repo
|
- name: Check out the repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
@ -46,7 +46,7 @@ jobs:
|
|||||||
deploy-nm:
|
deploy-nm:
|
||||||
name: 部署到内蒙服务器
|
name: 部署到内蒙服务器
|
||||||
needs: download-repo
|
needs: download-repo
|
||||||
runs-on: self
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Set up SSH key
|
- name: Set up SSH key
|
||||||
uses: webfactory/ssh-agent@v0.9.0
|
uses: webfactory/ssh-agent@v0.9.0
|
||||||
@ -77,3 +77,38 @@ jobs:
|
|||||||
rm -rf /www/server/nginx/proxy_temp_dir/* || true
|
rm -rf /www/server/nginx/proxy_temp_dir/* || true
|
||||||
sleep 2
|
sleep 2
|
||||||
#tccli cdn PurgePathCache --cli-unfold-argument --Paths '${{ secrets.WEB_URL }}' --FlushType delete
|
#tccli cdn PurgePathCache --cli-unfold-argument --Paths '${{ secrets.WEB_URL }}' --FlushType delete
|
||||||
|
|
||||||
|
deploy-bk-uiyj:
|
||||||
|
name: 部署到十堰服务器
|
||||||
|
needs: download-repo
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Set up SSH key
|
||||||
|
uses: webfactory/ssh-agent@v0.9.0
|
||||||
|
with:
|
||||||
|
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||||
|
- name: Sync repository to uiyj
|
||||||
|
run: |
|
||||||
|
ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }} root@${{ secrets.UIYJ_SSH_IP }} 'mkdir -p /data/ChatGPT-Next-Web'
|
||||||
|
rsync -az -e 'ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }}' --delete $GITHUB_WORKSPACE/ root@${{ secrets.UIYJ_SSH_IP }}:/data/ChatGPT-Next-Web/
|
||||||
|
- name: deploy-to-uiyj
|
||||||
|
uses: appleboy/ssh-action@master
|
||||||
|
env:
|
||||||
|
SERVER_WORKDIR: ${{ secrets.SERVER_WORKDIR }} #传递工作目录变量
|
||||||
|
with:
|
||||||
|
host: ${{ secrets.UIYJ_SSH_IP }} #服务器地址
|
||||||
|
username: root #用户名
|
||||||
|
port: ${{ secrets.SSH_PORT }}
|
||||||
|
key: ${{ secrets.SSH_PRIVATE_KEY }} #私钥 安全问题一定都以变量的方式传递!!!
|
||||||
|
envs: SERVER_WORKDIR,ALY_DOCKER_PASSWORD,ALY_DOCKER_USERNAME,DOCKER_ENV #使用工作目录变量
|
||||||
|
script: |
|
||||||
|
cd $SERVER_WORKDIR #进入到工作目录
|
||||||
|
echo "${{ secrets.DOCKER_ENV }}" > .env
|
||||||
|
echo ${{ secrets.ALY_DOCKER_PASSWORD }} | docker login registry.cn-hangzhou.aliyuncs.com -u ${{ secrets.ALY_DOCKER_USERNAME }} --password-stdin
|
||||||
|
docker network ls | grep -qw chatgpt-ns || docker network create chatgpt-ns
|
||||||
|
docker-compose pull && docker-compose up -d
|
||||||
|
yes | docker image prune
|
||||||
|
rm -rf /www/server/nginx/proxy_cache_dir/* || true
|
||||||
|
rm -rf /www/server/nginx/proxy_temp_dir/* || true
|
||||||
|
sleep 2
|
||||||
|
#tccli cdn PurgePathCache --cli-unfold-argument --Paths '${{ secrets.WEB_URL }}' --FlushType delete
|
||||||
|
@ -14,7 +14,8 @@ export function getEmojiUrl(unified: string, style: EmojiStyle) {
|
|||||||
// Old CDN broken, so I had to switch to this one
|
// Old CDN broken, so I had to switch to this one
|
||||||
// Author: https://github.com/H0llyW00dzZ
|
// Author: https://github.com/H0llyW00dzZ
|
||||||
// return `https://fastly.jsdelivr.net/npm/emoji-datasource-apple/img/${style}/64/${unified}.png`;
|
// return `https://fastly.jsdelivr.net/npm/emoji-datasource-apple/img/${style}/64/${unified}.png`;
|
||||||
return `https://cdn.bootcdn.net/ajax/libs/emoji-datasource-apple/15.1.2/img/${style}/64/${unified}.png`;
|
// return `https://cdn.bootcdn.net/ajax/libs/emoji-datasource-apple/15.1.2/img/${style}/64/${unified}.png`;
|
||||||
|
return `https://cdn.staticfile.net/emoji-datasource-apple/15.0.1/img/${style}/64/${unified}.png`;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function AvatarPicker(props: {
|
export function AvatarPicker(props: {
|
||||||
|
@ -27,7 +27,7 @@ export function RewardPage() {
|
|||||||
style={{ position: "absolute", top: 0, left: 0, right: 0, bottom: 0 }}
|
style={{ position: "absolute", top: 0, left: 0, right: 0, bottom: 0 }}
|
||||||
>
|
>
|
||||||
<Image
|
<Image
|
||||||
src="https://cos.xiaosi.cc/img/zanshang.jpeg"
|
src="https://oss.xiaosi.cc/web_img/zanshang.jpeg!webp"
|
||||||
alt="打赏"
|
alt="打赏"
|
||||||
layout="fill"
|
layout="fill"
|
||||||
objectFit="cover" // Optional: you can use this if you want the image to cover the entire area without stretching
|
objectFit="cover" // Optional: you can use this if you want the image to cover the entire area without stretching
|
||||||
|
@ -285,9 +285,9 @@ export const DEFAULT_MODELS = [
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "gemini-pro",
|
name: "gemini-1.5-pro-latest",
|
||||||
available: true,
|
available: true,
|
||||||
describe: "谷歌的,不要钱,但质量一般",
|
describe: "谷歌的,不要钱,质量还不错",
|
||||||
provider: {
|
provider: {
|
||||||
id: "google",
|
id: "google",
|
||||||
providerName: "Google",
|
providerName: "Google",
|
||||||
|
@ -39,8 +39,19 @@ export default function RootLayout({
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta name="config" content={JSON.stringify(getClientConfig())} />
|
<meta name="config" content={JSON.stringify(getClientConfig())} />
|
||||||
<link rel="manifest" href="/site.webmanifest"></link>
|
<link
|
||||||
<script src="/serviceWorkerRegister.js" defer></script>
|
rel="icon"
|
||||||
|
type="image/x-icon"
|
||||||
|
href="https://oss.xiaosi.cc/chat/public/favicon.ico"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="manifest"
|
||||||
|
href="https://oss.xiaosi.cc/chat/public/site.webmanifest"
|
||||||
|
></link>
|
||||||
|
<script
|
||||||
|
src="https://oss.xiaosi.cc/chat/public/serviceWorkerRegister.js"
|
||||||
|
defer
|
||||||
|
></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<Providers>{children}</Providers>
|
<Providers>{children}</Providers>
|
||||||
|
@ -159,8 +159,9 @@ export const usePromptStore = createPersistStore(
|
|||||||
|
|
||||||
onRehydrateStorage(state) {
|
onRehydrateStorage(state) {
|
||||||
// const PROMPT_URL = "https://cos.xiaosi.cc/next/public/prompts.json";
|
// const PROMPT_URL = "https://cos.xiaosi.cc/next/public/prompts.json";
|
||||||
const PROMPT_URL = "./prompts.json";
|
const PROMPT_URL = "https://oss.xiaosi.cc/chat/public/prompts.json";
|
||||||
const GPT_PROMPT_URL = "./prompt_library.json";
|
const GPT_PROMPT_URL =
|
||||||
|
"https://oss.xiaosi.cc/chat/public/prompt_library.json";
|
||||||
|
|
||||||
type PromptList = Array<[string, string]>;
|
type PromptList = Array<[string, string]>;
|
||||||
|
|
||||||
|
@ -381,17 +381,17 @@ pre {
|
|||||||
// url('//lib.baomitu.com/fonts/noto-sans/noto-sans-regular.svg#NotoSans') format('svg'); /* Legacy iOS */
|
// url('//lib.baomitu.com/fonts/noto-sans/noto-sans-regular.svg#NotoSans') format('svg'); /* Legacy iOS */
|
||||||
//}
|
//}
|
||||||
|
|
||||||
/* https://cos.xiaosi.cc/fonts/noto-sans/noto-sans-regular.svg */
|
/* https://oss.xiaosi.cc/fonts/noto-sans/noto-sans-regular.svg */
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Noto Sans';
|
font-family: 'Noto Sans';
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: normal; /* regular; */
|
font-weight: normal; /* regular; */
|
||||||
src: url('https://cos.xiaosi.cc/fonts/noto-sans/noto-sans-regular.eot'); /* IE9 Compat Modes */
|
src: url('https://oss.xiaosi.cc/fonts/noto-sans/noto-sans-regular.eot'); /* IE9 Compat Modes */
|
||||||
src: local('Noto Sans'), local('NotoSans-Normal'),
|
src: local('Noto Sans'), local('NotoSans-Normal'),
|
||||||
url('https://cos.xiaosi.cc/fonts/noto-sans/noto-sans-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
url('https://oss.xiaosi.cc/fonts/noto-sans/noto-sans-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
||||||
url('https://cos.xiaosi.cc/fonts/noto-sans/noto-sans-regular.woff2') format('woff2'), /* Super Modern Browsers */
|
url('https://oss.xiaosi.cc/fonts/noto-sans/noto-sans-regular.woff2') format('woff2'), /* Super Modern Browsers */
|
||||||
url('https://cos.xiaosi.cc/fonts/noto-sans/noto-sans-regular.woff') format('woff'), /* Modern Browsers */
|
url('https://oss.xiaosi.cc/fonts/noto-sans/noto-sans-regular.woff') format('woff'), /* Modern Browsers */
|
||||||
url('https://cos.xiaosi.cc/fonts/noto-sans/noto-sans-regular.ttf') format('truetype'), /* Safari, Android, iOS */
|
url('https://oss.xiaosi.cc/fonts/noto-sans/noto-sans-regular.ttf') format('truetype'), /* Safari, Android, iOS */
|
||||||
url('https://cos.xiaosi.cc/fonts/noto-sans/noto-sans-regular.svg#NotoSans') format('svg'); /* Legacy iOS */
|
url('https://oss.xiaosi.cc/fonts/noto-sans/noto-sans-regular.svg#NotoSans') format('svg'); /* Legacy iOS */
|
||||||
}
|
}
|
||||||
|
@ -3,12 +3,12 @@
|
|||||||
"short_name": "NextChat",
|
"short_name": "NextChat",
|
||||||
"icons": [
|
"icons": [
|
||||||
{
|
{
|
||||||
"src": "https://cos.xiaosi.cc/next/public/android-chrome-192x192.png",
|
"src": "https://oss.xiaosi.cc/chat/public/android-chrome-192x192.png!webp",
|
||||||
"sizes": "192x192",
|
"sizes": "192x192",
|
||||||
"type": "image/png"
|
"type": "image/png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"src": "https://cos.xiaosi.cc/next/public/android-chrome-512x512.png",
|
"src": "https://oss.xiaosi.cc/chat/public/android-chrome-512x512.png!webp",
|
||||||
"sizes": "512x512",
|
"sizes": "512x512",
|
||||||
"type": "image/png"
|
"type": "image/png"
|
||||||
}
|
}
|
||||||
|
59
start.sh
59
start.sh
@ -1,37 +1,30 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
# 加速
|
## 加速
|
||||||
yarn config set registry 'https://registry.npmmirror.com/'
|
#yarn config set registry 'https://registry.npmmirror.com/'
|
||||||
yarn config set sharp_binary_host "https://npm.taobao.org/mirrors/sharp"
|
#yarn config set sharp_binary_host "https://npm.taobao.org/mirrors/sharp"
|
||||||
yarn config set sharp_libvips_binary_host "https://npm.taobao.org/mirrors/sharp-libvips"
|
#yarn config set sharp_libvips_binary_host "https://npm.taobao.org/mirrors/sharp-libvips"
|
||||||
# 官方
|
## 官方
|
||||||
#yarn config delete registry
|
##yarn config delete registry
|
||||||
#yarn config delete sharp_binary_host
|
##yarn config delete sharp_binary_host
|
||||||
#yarn config delete sharp_libvips_binary_host
|
##yarn config delete sharp_libvips_binary_host
|
||||||
|
|
||||||
yarn cache clean
|
|
||||||
yarn install
|
|
||||||
#if command -v cnpm &> /dev/null
|
|
||||||
#then
|
|
||||||
# echo "cnpm 已安装"
|
|
||||||
#else
|
|
||||||
# npm i cnpm
|
|
||||||
#fi
|
|
||||||
#
|
#
|
||||||
#cnpm i
|
#yarn cache clean
|
||||||
yarn run build
|
#yarn install
|
||||||
|
#
|
||||||
mkdir -p "./node_modules/tiktoken"
|
#yarn run build
|
||||||
export OUT_DIR="out"
|
#
|
||||||
|
#mkdir -p "./node_modules/tiktoken"
|
||||||
mkdir -p ${OUT_DIR}
|
#export OUT_DIR="out"
|
||||||
|
#
|
||||||
rsync -az --delete ./.next/standalone/ ${OUT_DIR}
|
#mkdir -p ${OUT_DIR}
|
||||||
rsync -az --delete ./public/ ${OUT_DIR}/public
|
#
|
||||||
rsync -az --delete ./.next/static/ ${OUT_DIR}/.next/static
|
#rsync -az --delete ./.next/standalone/ ${OUT_DIR}
|
||||||
rsync -az --delete ./.next/server/ ${OUT_DIR}/.next/server
|
#rsync -az --delete ./public/ ${OUT_DIR}/public
|
||||||
rsync -az --delete ./.next/server/ ${OUT_DIR}/.next/server
|
#rsync -az --delete ./.next/static/ ${OUT_DIR}/.next/static
|
||||||
rsync -az --delete "./node_modules/tiktoken/" ${OUT_DIR}/node_modules/tiktoken
|
#rsync -az --delete ./.next/server/ ${OUT_DIR}/.next/server
|
||||||
|
#rsync -az --delete ./.next/server/ ${OUT_DIR}/.next/server
|
||||||
|
#rsync -az --delete "./node_modules/tiktoken/" ${OUT_DIR}/node_modules/tiktoken
|
||||||
|
|
||||||
docker network ls | grep -qw chatgpt-ns || docker network create chatgpt-ns
|
docker network ls | grep -qw chatgpt-ns || docker network create chatgpt-ns
|
||||||
|
|
||||||
@ -39,8 +32,8 @@ docker network ls | grep -qw chatgpt-ns || docker network create chatgpt-ns
|
|||||||
if ! docker buildx inspect mybuilder &> /dev/null; then
|
if ! docker buildx inspect mybuilder &> /dev/null; then
|
||||||
docker buildx create --use --name=mybuilder
|
docker buildx create --use --name=mybuilder
|
||||||
fi
|
fi
|
||||||
#docker build -t registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:temp -f Dockerfile.linux-build .
|
#docker buildx build --platform linux/amd64 -t registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:temp -f Dockerfile.linux-build --load .
|
||||||
docker buildx build --platform linux/amd64 -t registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:temp -f Dockerfile.linux-build --load .
|
docker buildx build --platform linux/amd64 -t registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:temp -f Dockerfile --load .
|
||||||
|
|
||||||
docker tag registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:temp registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:latest
|
docker tag registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:temp registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:latest
|
||||||
docker tag registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:temp registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:test
|
docker tag registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:temp registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:test
|
||||||
|
Loading…
Reference in New Issue
Block a user