From 7f4fb7d0b6ebc39e6587b221b6cde9fdf4f65fc2 Mon Sep 17 00:00:00 2001 From: cola <44671411+aipeach@users.noreply.github.com> Date: Fri, 24 Nov 2023 20:08:06 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0docker=E9=95=9C=E5=83=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/docker-publish.yml | 33 ++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 .github/workflows/docker-publish.yml diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml new file mode 100644 index 00000000..3adfc086 --- /dev/null +++ b/.github/workflows/docker-publish.yml @@ -0,0 +1,33 @@ +name: ci + +on: + push: + branches: + - "dev" + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v5 + with: + platforms: linux/amd64,linux/arm64 + context: . + file: ./docker/Dockerfile + push: true + tags: | + ghcr.io/${{ github.repository_owner }}/fulltclash:latest + ghcr.io/${{ github.repository_owner }}/fulltclash:dev \ No newline at end of file From be385d8bd55aae26e11d23a73407b2cb5bf35229 Mon Sep 17 00:00:00 2001 From: cola <44671411+aipeach@users.noreply.github.com> Date: Wed, 29 Nov 2023 16:48:35 +0800 Subject: [PATCH 2/3] Fix docker buildx failed --- .github/workflows/docker-publish.yml | 10 ++++++++-- docker/update.sh | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 3adfc086..6251679d 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -21,6 +21,12 @@ jobs: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Set Environment Variables + run: | + IMG=fulltclash + OWNER="$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')" + echo "IMG=${IMG}" >> $GITHUB_ENV + echo "IMAGE=ghcr.io/${OWNER}/${IMG}" >> $GITHUB_ENV - name: Build and push uses: docker/build-push-action@v5 with: @@ -29,5 +35,5 @@ jobs: file: ./docker/Dockerfile push: true tags: | - ghcr.io/${{ github.repository_owner }}/fulltclash:latest - ghcr.io/${{ github.repository_owner }}/fulltclash:dev \ No newline at end of file + ${{ env.IMAGE }}:latest + ${{ env.IMAGE }}:dev \ No newline at end of file diff --git a/docker/update.sh b/docker/update.sh index fa265d3c..a6d75b14 100644 --- a/docker/update.sh +++ b/docker/update.sh @@ -14,4 +14,5 @@ if [[ $last_version == "$git_version" ]]; then else echo -e "检查到新版本,正在更新" update + supervisorctl restart fulltclash fi \ No newline at end of file From 1cda31c2742aa448f68ad1ad4355d32b1dbb8664 Mon Sep 17 00:00:00 2001 From: cola <44671411+aipeach@users.noreply.github.com> Date: Thu, 30 Nov 2023 15:45:59 +0800 Subject: [PATCH 3/3] Update Docker README.md --- README.md | 2 +- docker/README.md | 31 +++++++++++++++++++++---------- docker/docker-compose.yml | 9 +++++++++ 3 files changed, 31 insertions(+), 11 deletions(-) create mode 100644 docker/docker-compose.yml diff --git a/README.md b/README.md index f0e10ff9..679e17fc 100644 --- a/README.md +++ b/README.md @@ -201,7 +201,7 @@ fulltclash-windows-amd64 为 Windows-amd64 所支持的 编译完成覆盖原文件即可 ,如果操作难度太大,可以发起issue详谈。 ### Docker启动 -教程文档待更新 +[./docker/ 目录](https://github.com/AirportR/FullTclash/tree/dev/docker) ### 为程序设置进程守护(Linux) 由于Linux系统特性,关闭ssh连接后,前台程序会被关闭。您需要设置进程守护,才能在后台不间断地运行程序。具体方法Google搜索即可。 ## 交流探讨 diff --git a/docker/README.md b/docker/README.md index 060ede96..29dd4380 100644 --- a/docker/README.md +++ b/docker/README.md @@ -21,22 +21,33 @@ clash: branch: meta ``` -## 构建Docker镜像 +## 部署 -### 下载Dockerfile -``` -wget -N https://raw.githubusercontent.com/AirportR/FullTclash/dev/docker/Dockerfile -``` -### 构建镜像 +### 拉取镜像 ``` -docker build -t fulltclash:dev . +docker pull ghcr.io/airportr/fulltclash:dev ``` -启动 +### docker +```bash +docker run -itd --name=fulltclash --restart=always -v /etc/FullTclash/config.yaml:/app/resources/config.yaml ghcr.io/airportr/fulltclash:dev ``` -docker run -itd --name=fulltclash --restart=always -v /etc/FullTclash/config.yaml:/app/resources/config.yaml fulltclash:dev + +### docker-compose + +```bash +# 安装 docker-compose +# curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose +# chmod +x /usr/local/bin/docker-compose +wget -N https://raw.githubusercontent.com/AirportR/FullTclash/dev/docker/docker-compose.yml + +# 启动 +docker-compose up -d +# 停止 +docker-compose down ``` + 查看日志 ``` docker exec -it fulltclash tail -f /var/log/fulltclash.log @@ -48,4 +59,4 @@ docker exec -it fulltclash bash /app/docker/update.sh 重启程序 ``` docker exec -it fulltclash supervisorctl restart fulltclash -``` +``` \ No newline at end of file diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 00000000..84bb5c56 --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' + +services: + fulltclash: + image: ghcr.io/airportr/fulltclash:dev + restart: always + container_name: fulltclash + volumes: + - /etc/FullTclash/config.yaml:/app/resources/config.yaml \ No newline at end of file