Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
sijinhui 2024-05-11 22:08:27 +08:00
commit ec143c355e
10 changed files with 104 additions and 95 deletions

View File

@ -1,4 +1,4 @@
name: DEV DEPLOY TO TX
name: DEV DEPLOY
on:
workflow_dispatch:
# push:
@ -16,7 +16,7 @@ jobs:
with:
ref: 'dev'
clean: false
github-server-url: 'https://gh.siji.ci'
#github-server-url: 'https://gh.siji.ci'
- name: build and deploy to Docker Hub
run: |
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"
deploy:
name: 部署到dev服务器
runs-on: self
runs-on: ubuntu-latest
needs: build
steps:
- name: Check out the repo
@ -44,22 +44,23 @@ jobs:
uses: webfactory/ssh-agent@v0.9.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Sync repository to tx
- name: Sync repository to test server
run: |
yes | docker image prune
ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }} root@${{ secrets.TX_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
sudo apt-get update && sudo apt-get install -y rsync
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@${{ secrets.UIYJ_SSH_IP }}:/data/test/ChatGPT-Next-Web
- name: deploy-to-tx
uses: appleboy/ssh-action@master
env:
SERVER_WORKDIR: ${{ secrets.SERVER_WORKDIR }} #传递工作目录变量
with:
host: ${{ secrets.TX_SSH_IP }} #服务器地址
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: |
mkdir -p /data/test/ChatGPT-Next-Web
cd /data/test/ChatGPT-Next-Web
echo "${{ secrets.DOCKER_ENV }}" > .env
# 测试分支,
@ -73,36 +74,3 @@ jobs:
yes | docker image prune
rm -rf /www/server/nginx/proxy_cache_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

View File

@ -23,7 +23,7 @@ jobs:
- name: Check out the repo
uses: actions/checkout@v4
with:
clean: false
clean: true
github-server-url: 'https://gh.siji.ci'
- name: build and deploy to Docker Hub
run: |
@ -36,7 +36,7 @@ jobs:
download-repo:
name: 下载仓库
needs: build
runs-on: self
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v4
@ -46,7 +46,7 @@ jobs:
deploy-nm:
name: 部署到内蒙服务器
needs: download-repo
runs-on: self
runs-on: ubuntu-latest
steps:
- name: Set up SSH key
uses: webfactory/ssh-agent@v0.9.0
@ -77,3 +77,38 @@ jobs:
rm -rf /www/server/nginx/proxy_temp_dir/* || true
sleep 2
#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

View File

@ -14,7 +14,8 @@ export function getEmojiUrl(unified: string, style: EmojiStyle) {
// Old CDN broken, so I had to switch to this one
// Author: https://github.com/H0llyW00dzZ
// 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: {

View File

@ -27,7 +27,7 @@ export function RewardPage() {
style={{ position: "absolute", top: 0, left: 0, right: 0, bottom: 0 }}
>
<Image
src="https://cos.xiaosi.cc/img/zanshang.jpeg"
src="https://oss.xiaosi.cc/web_img/zanshang.jpeg!webp"
alt="打赏"
layout="fill"
objectFit="cover" // Optional: you can use this if you want the image to cover the entire area without stretching

View File

@ -285,9 +285,9 @@ export const DEFAULT_MODELS = [
},
},
{
name: "gemini-pro",
name: "gemini-1.5-pro-latest",
available: true,
describe: "谷歌的,不要钱,但质量一般",
describe: "谷歌的,不要钱,质量还不错",
provider: {
id: "google",
providerName: "Google",

View File

@ -39,8 +39,19 @@ export default function RootLayout({
<html lang="en">
<head>
<meta name="config" content={JSON.stringify(getClientConfig())} />
<link rel="manifest" href="/site.webmanifest"></link>
<script src="/serviceWorkerRegister.js" defer></script>
<link
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>
<body>
<Providers>{children}</Providers>

View File

@ -159,8 +159,9 @@ export const usePromptStore = createPersistStore(
onRehydrateStorage(state) {
// const PROMPT_URL = "https://cos.xiaosi.cc/next/public/prompts.json";
const PROMPT_URL = "./prompts.json";
const GPT_PROMPT_URL = "./prompt_library.json";
const PROMPT_URL = "https://oss.xiaosi.cc/chat/public/prompts.json";
const GPT_PROMPT_URL =
"https://oss.xiaosi.cc/chat/public/prompt_library.json";
type PromptList = Array<[string, string]>;

View File

@ -381,17 +381,17 @@ pre {
// 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-family: 'Noto Sans';
font-style: normal;
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'),
url('https://cos.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://cos.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://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.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('https://oss.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.woff') format('woff'), /* Modern Browsers */
url('https://oss.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.svg#NotoSans') format('svg'); /* Legacy iOS */
}

View File

@ -3,12 +3,12 @@
"short_name": "NextChat",
"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",
"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",
"type": "image/png"
}
@ -17,4 +17,4 @@
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
}
}

View File

@ -1,37 +1,30 @@
#!/bin/bash
set -e
# 加速
yarn config set registry 'https://registry.npmmirror.com/'
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 delete registry
#yarn config delete sharp_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
## 加速
#yarn config set registry 'https://registry.npmmirror.com/'
#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 delete registry
##yarn config delete sharp_binary_host
##yarn config delete sharp_libvips_binary_host
#
#cnpm i
yarn run build
mkdir -p "./node_modules/tiktoken"
export OUT_DIR="out"
mkdir -p ${OUT_DIR}
rsync -az --delete ./.next/standalone/ ${OUT_DIR}
rsync -az --delete ./public/ ${OUT_DIR}/public
rsync -az --delete ./.next/static/ ${OUT_DIR}/.next/static
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
#yarn cache clean
#yarn install
#
#yarn run build
#
#mkdir -p "./node_modules/tiktoken"
#export OUT_DIR="out"
#
#mkdir -p ${OUT_DIR}
#
#rsync -az --delete ./.next/standalone/ ${OUT_DIR}
#rsync -az --delete ./public/ ${OUT_DIR}/public
#rsync -az --delete ./.next/static/ ${OUT_DIR}/.next/static
#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
@ -39,8 +32,8 @@ docker network ls | grep -qw chatgpt-ns || docker network create chatgpt-ns
if ! docker buildx inspect mybuilder &> /dev/null; then
docker buildx create --use --name=mybuilder
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:test