From 6b38c7b15f08a4156aac5412d332db578f124276 Mon Sep 17 00:00:00 2001 From: Dmitriy Petrov Date: Sun, 1 Mar 2026 02:05:31 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20Gitea=20CI=20workflow=20+=20registry=20?= =?UTF-8?q?image=20=D0=B4=D0=BB=D1=8F=20=D0=B4=D0=B5=D0=BF=D0=BB=D0=BE?= =?UTF-8?q?=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - .gitea/workflows/docker-build.yml: билд и пуш образа в Gitea Container Registry - docker-compose.server.yml: убрал build context, используем registry image - Требует REGISTRY_TOKEN секрет в настройках репо Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .gitea/workflows/docker-build.yml | 33 +++++++++++++++++++++++++++++++ docker-compose.server.yml | 9 ++++----- 2 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 .gitea/workflows/docker-build.yml diff --git a/.gitea/workflows/docker-build.yml b/.gitea/workflows/docker-build.yml new file mode 100644 index 0000000..06dca53 --- /dev/null +++ b/.gitea/workflows/docker-build.yml @@ -0,0 +1,33 @@ +name: Build and Push Docker Image + +on: + push: + branches: [main] + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Clone repository + env: + GIT_TOKEN: ${{ secrets.REGISTRY_TOKEN }} + run: | + SERVER_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||') + git clone --depth 2 "http://${{ gitea.actor }}:${GIT_TOKEN}@${SERVER_HOST}/${{ gitea.repository }}.git" . + git checkout ${{ gitea.sha }} + + - name: Build and push image + run: | + REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||') + IMAGE="${REGISTRY_HOST}/${{ gitea.repository }}/sing-proxy" + + echo "${{ secrets.REGISTRY_TOKEN }}" | docker login "$REGISTRY_HOST" -u "${{ gitea.actor }}" --password-stdin + + docker build \ + -f docker/Dockerfile.singbox \ + -t "${IMAGE}:latest" \ + . + + docker push "${IMAGE}:latest" + echo "Pushed: ${IMAGE}:latest" diff --git a/docker-compose.server.yml b/docker-compose.server.yml index 441d145..dcf681d 100644 --- a/docker-compose.server.yml +++ b/docker-compose.server.yml @@ -12,9 +12,7 @@ version: "3.9" services: sing-proxy: container_name: sing-proxy - build: - context: . - dockerfile: docker/Dockerfile.singbox + image: ${REGISTRY_HOST:-192.168.50.109:3000}/dokril/vpn-proxy/sing-proxy:latest # HOST MODE — контейнер использует сеть хоста напрямую # Это решает проблему UDP ASSOCIATE для SOCKS5 @@ -35,7 +33,8 @@ services: limits: memory: 256m -# Порты при network_mode: host не нужно пробрасывать, -# они автоматически доступны на хосте: +# Порты при network_mode: host не нужны. +# Сервисы доступны напрямую на хосте: # - 3456: Веб-интерфейс (PORT) # - 8080: SOCKS5/HTTP прокси (PROXY_PORT) +