Deploy #48
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy | |
on: | |
workflow_run: | |
workflows: ["Publish Docker image"] | |
types: | |
- completed | |
workflow_dispatch: | |
jobs: | |
deploy: | |
runs-on: ubuntu-latest | |
if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }} | |
steps: | |
- name: SSH connect and update Docker image | |
uses: appleboy/ssh-action@master | |
with: | |
host: ${{ secrets.VPS_HOST }} | |
USERNAME: ${{ secrets.VPS_USERNAME }} | |
PORT: ${{ secrets.VPS_PORT }} | |
KEY: ${{ secrets.VPS_SSHKEY }} | |
script: | | |
# Check if Docker is installed | |
if ! command -v docker &> /dev/null; then | |
echo "Error: Docker is not installed. Exiting..." | |
exit 1 | |
else | |
echo "Docker is installed." | |
docker --version | |
fi | |
# Check if Docker Compose is installed | |
if ! command -v docker-compose &> /dev/null; then | |
echo "Error: Docker Compose is not installed. Exiting..." | |
exit 1 | |
else | |
echo "Docker Compose is installed." | |
docker-compose --version | |
fi | |
workdir=/opt/ChatGPT-Next-Web-Temp | |
if [ ! -d "$workdir" ]; then | |
mkdir $workdir | |
fi | |
cd $workdir | |
wget -O docker-compose.yml https://raw.githubusercontent.com/durianice/ChatGPT-Next-Web/main/docker-compose.yml | |
if ! [[ -e docker-compose.yml ]]; then | |
echo "docker-compose.yml does not exist." | |
rm -r $workdir | |
exit 1 | |
fi | |
echo "OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }}" > .env | |
echo "CODE=${{ secrets.WEB_PWD }}" >> .env | |
echo "PROXY_URL=${{ vars.PROXY_URL }}" >> .env | |
echo "BASE_URL=${{ vars.BASE_URL }}" >> .env | |
echo "OPENAI_ORG_ID=${{ vars.OPENAI_ORG_ID }}" >> .env | |
echo "HIDE_USER_API_KEY=${{ vars.HIDE_USER_API_KEY }}" >> .env | |
echo "DISABLE_GPT4=${{ vars.DISABLE_GPT4 }}" >> .env | |
echo "ENABLE_BALANCE_QUERY=${{ vars.ENABLE_BALANCE_QUERY }}" >> .env | |
echo "DISABLE_FAST_LINK=${{ vars.DISABLE_FAST_LINK }}" >> .env | |
echo "OPENAI_SB=${{ vars.OPENAI_SB }}" >> .env | |
echo "CUSTOM_MODELS=${{ vars.CUSTOM_MODELS }}" >> .env | |
echo "DISABLE_FAST_LINK=${{ vars.DISABLE_FAST_LINK }}" >> .env | |
docker-compose --profile no-proxy down | |
docker-compose --profile no-proxy pull | |
docker-compose --profile no-proxy up -d | |
# docker image prune -f | |
rm -r $workdir |