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) +