mirror of
https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
synced 2025-10-03 00:26:40 +08:00
commit
2a202aab31
9
.github/workflows/dockerToHub-dev.yml
vendored
9
.github/workflows/dockerToHub-dev.yml
vendored
@ -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
|
||||||
@ -46,7 +46,7 @@ jobs:
|
|||||||
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
|
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||||
- name: Sync repository to test server
|
- name: Sync repository to test server
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update && sudo apt-get install -y rsync
|
#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'
|
ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }} root@${{ secrets.UIYJ_SSH_IP }} 'mkdir -p /data/test/ChatGPT-Next-Web'
|
||||||
/usr/bin/rsync -az -e 'ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }}' --delete $GITHUB_WORKSPACE/ root@${{ secrets.UIYJ_SSH_IP }}:/data/test/ChatGPT-Next-Web
|
/usr/bin/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
|
||||||
@ -63,13 +63,14 @@ jobs:
|
|||||||
mkdir -p /data/test/ChatGPT-Next-Web
|
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
|
||||||
|
echo "PORT=23001" > .env
|
||||||
# 测试分支,
|
# 测试分支,
|
||||||
echo "COMPOSE_PROJECT_NAME=test-chatgpt-web" >> .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
|
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
|
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|23000:|23001:|g' docker-compose.yml
|
||||||
sed -i 's|container_name:|#container_name:|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 network ls | grep -qw chatgpt-ns || docker network create chatgpt-ns
|
||||||
docker-compose pull && docker-compose up -d
|
docker-compose pull && docker-compose up -d
|
||||||
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
|
||||||
|
76
.github/workflows/dockerToHub.yml
vendored
76
.github/workflows/dockerToHub.yml
vendored
@ -1,9 +1,9 @@
|
|||||||
name: PRO DEPLOY TO TY
|
name: PRO DEPLOY TO TY
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
# push:
|
push:
|
||||||
# branches:
|
branches:
|
||||||
# - main
|
- main
|
||||||
# paths:
|
# paths:
|
||||||
# - 'app/**'
|
# - 'app/**'
|
||||||
# - 'public/**'
|
# - 'public/**'
|
||||||
@ -43,40 +43,40 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
clean: true
|
clean: true
|
||||||
github-server-url: 'https://gh.siji.ci'
|
github-server-url: 'https://gh.siji.ci'
|
||||||
deploy-nm:
|
# deploy-nm:
|
||||||
name: 部署到内蒙服务器
|
# name: 部署到内蒙服务器
|
||||||
needs: download-repo
|
# needs: download-repo
|
||||||
runs-on: ubuntu-latest
|
# 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
|
||||||
with:
|
# with:
|
||||||
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
|
# ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||||
- name: Sync repository to nm
|
# - name: Sync repository to nm
|
||||||
run: |
|
# run: |
|
||||||
ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }} root@${{ secrets.NM_SSH_IP }} 'mkdir -p /data/ChatGPT-Next-Web'
|
# ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }} root@${{ secrets.NM_SSH_IP }} 'mkdir -p /data/ChatGPT-Next-Web'
|
||||||
rsync -az -e 'ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }}' --delete $GITHUB_WORKSPACE/ root@${{ secrets.NM_SSH_IP }}:/data/ChatGPT-Next-Web/
|
# rsync -az -e 'ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }}' --delete $GITHUB_WORKSPACE/ root@${{ secrets.NM_SSH_IP }}:/data/ChatGPT-Next-Web/
|
||||||
- name: deploy-to-nm
|
# - name: deploy-to-nm
|
||||||
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.NM_SSH_IP }} #服务器地址
|
# host: ${{ secrets.NM_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: |
|
||||||
cd $SERVER_WORKDIR #进入到工作目录
|
# cd $SERVER_WORKDIR #进入到工作目录
|
||||||
echo "${{ secrets.DOCKER_ENV }}" > .env
|
# echo "${{ secrets.DOCKER_ENV }}" > .env
|
||||||
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
|
||||||
docker network ls | grep -qw chatgpt-ns || docker network create chatgpt-ns
|
# docker network ls | grep -qw chatgpt-ns || docker network create chatgpt-ns
|
||||||
docker-compose pull && docker-compose up -d
|
# docker-compose pull && docker-compose up -d
|
||||||
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
|
||||||
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:
|
deploy-bk-uiyj:
|
||||||
name: 部署到十堰服务器
|
name: 部署到十堰服务器
|
||||||
@ -90,7 +90,7 @@ jobs:
|
|||||||
- name: Sync repository to uiyj
|
- name: Sync repository to uiyj
|
||||||
run: |
|
run: |
|
||||||
ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }} root@${{ secrets.UIYJ_SSH_IP }} 'mkdir -p /data/ChatGPT-Next-Web'
|
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/
|
/usr/bin/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
|
- name: deploy-to-uiyj
|
||||||
uses: appleboy/ssh-action@master
|
uses: appleboy/ssh-action@master
|
||||||
env:
|
env:
|
||||||
|
@ -97,11 +97,18 @@ export const useSyncStore = createPersistStore(
|
|||||||
const client = this.getClient();
|
const client = this.getClient();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const remoteState = JSON.parse(
|
const remoteState = await client.get(config.username);
|
||||||
await client.get(config.username),
|
if (!remoteState || remoteState === "") {
|
||||||
) as AppState;
|
await client.set(config.username, JSON.stringify(localState));
|
||||||
mergeAppState(localState, remoteState);
|
console.log("[Sync] Remote state is empty, using local state instead.");
|
||||||
setLocalAppState(localState);
|
return
|
||||||
|
} else {
|
||||||
|
const parsedRemoteState = JSON.parse(
|
||||||
|
await client.get(config.username),
|
||||||
|
) as AppState;
|
||||||
|
mergeAppState(localState, parsedRemoteState);
|
||||||
|
setLocalAppState(localState);
|
||||||
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log("[Sync] failed to get remote state", e);
|
console.log("[Sync] failed to get remote state", e);
|
||||||
throw e;
|
throw e;
|
||||||
|
Loading…
Reference in New Issue
Block a user