diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 4de0845..0d1e67f 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -1,6 +1,9 @@ -# Копия .github/workflows/build.yml для Gitea Actions. Логин на ghcr.io — через -# secrets.GHCR_TOKEN (настоящий GitHub PAT с write:packages), не -# secrets.GITHUB_TOKEN — автотокен Gitea валиден только для самого Gitea. +# Копия .github/workflows/build.yml для Gitea Actions. Реестр — встроенный +# Container Registry самой Gitea (gitea.netrunner-vpn.com), не ghcr.io — +# secrets.GITEA_REGISTRY_TOKEN (токен Gitea с правом write:package), не +# GHCR_TOKEN/GITHUB_TOKEN. Тот же токен, что и в netrunner-backend/ +# netrunner-proxy — пакеты в Gitea принадлежат аккаунту, не репозиторию, +# но значение секрета нужно продублировать в Settings каждого репозитория. name: Build & Push Image on: @@ -10,7 +13,7 @@ on: jobs: build: - name: Build and push to GHCR + name: Build and push to Gitea Registry runs-on: ubuntu-latest permissions: contents: read @@ -24,12 +27,12 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - - name: Login to GHCR + - name: Login to Gitea Registry uses: docker/login-action@v3 with: - registry: ghcr.io + registry: gitea.netrunner-vpn.com username: ${{ github.actor }} - password: ${{ secrets.GHCR_TOKEN }} + password: ${{ secrets.GITEA_REGISTRY_TOKEN }} # Сборка Лендинга (Next.js) - name: Build and Push Landing @@ -38,9 +41,9 @@ jobs: context: . file: ./Dockerfile push: true - tags: ghcr.io/nineap/netrunner-landing:latest - cache-from: type=registry,ref=ghcr.io/nineap/netrunner-landing:cache - cache-to: type=registry,ref=ghcr.io/nineap/netrunner-landing:cache,mode=max + tags: gitea.netrunner-vpn.com/nineap/netrunner-landing:latest + cache-from: type=registry,ref=gitea.netrunner-vpn.com/nineap/netrunner-landing:cache + cache-to: type=registry,ref=gitea.netrunner-vpn.com/nineap/netrunner-landing:cache,mode=max # Сборка Прокси (Rust) - name: Build and Push Proxy @@ -49,6 +52,6 @@ jobs: context: ./proxy-ws file: ./proxy-ws/Dockerfile push: true - tags: ghcr.io/nineap/netrunner-landing-proxy:latest - cache-from: type=registry,ref=ghcr.io/nineap/netrunner-landing-proxy:cache - cache-to: type=registry,ref=ghcr.io/nineap/netrunner-landing-proxy:cache,mode=max + tags: gitea.netrunner-vpn.com/nineap/netrunner-landing-proxy:latest + cache-from: type=registry,ref=gitea.netrunner-vpn.com/nineap/netrunner-landing-proxy:cache + cache-to: type=registry,ref=gitea.netrunner-vpn.com/nineap/netrunner-landing-proxy:cache,mode=max diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 12dd91d..ed72a6b 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -1,6 +1,6 @@ # Копия .github/workflows/deploy.yml для Gitea Actions. -# - secrets.GHCR_TOKEN вместо secrets.GITHUB_TOKEN для логина на ghcr.io — -# автотокен Gitea валиден только для самого Gitea, не для ghcr.io. +# - Образы тянутся из встроенного Container Registry самой Gitea +# (gitea.netrunner-vpn.com), не ghcr.io — secrets.GITEA_REGISTRY_TOKEN. # - Триггер workflow_run (авто-деплой после успешной сборки) поддерживается # не во всех версиях Gitea Actions — если deploy-dev не срабатывает # автоматически после build, проверить версию Gitea или временно дергать @@ -27,7 +27,7 @@ jobs: with: ref: ${{ github.event.workflow_run.head_sha }} - # Копируем только compose-файл — сам образ дев-сервер тянет из GHCR. + # Копируем только compose-файл — сам образ дев-сервер тянет из Gitea Registry. - name: Sync compose file to Dev VPS uses: appleboy/scp-action@v0.1.7 with: @@ -58,7 +58,7 @@ jobs: chmod 600 .env echo "🚀 Deploying landing+proxy:latest to DEV" - echo "${{ secrets.GHCR_TOKEN }}" | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin + echo "${{ secrets.GITEA_REGISTRY_TOKEN }}" | docker login gitea.netrunner-vpn.com -u ${{ github.actor }} --password-stdin docker compose -f docker-compose.dev-remote.yml pull docker compose -f docker-compose.dev-remote.yml up -d --remove-orphans @@ -95,7 +95,7 @@ jobs: script: | set -e cd /root/netrunner-frontend - echo ${{ secrets.GHCR_TOKEN }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin + echo ${{ secrets.GITEA_REGISTRY_TOKEN }} | docker login gitea.netrunner-vpn.com -u ${{ github.actor }} --password-stdin echo "🚀 Deploying landing+proxy:latest to PROD" diff --git a/docker-compose.dev-remote.yml b/docker-compose.dev-remote.yml index 0251d38..f2b383e 100644 --- a/docker-compose.dev-remote.yml +++ b/docker-compose.dev-remote.yml @@ -12,7 +12,7 @@ services: # Фронтенд (Next.js) landing: - image: ${IMAGE:-ghcr.io/nineap/netrunner-landing:latest} + image: ${IMAGE:-gitea.netrunner-vpn.com/nineap/netrunner-landing:latest} container_name: netrunner-landing-dev restart: always ports: @@ -73,7 +73,7 @@ services: # Прокси-слой (Rust) ws-proxy: - image: ghcr.io/nineap/netrunner-landing-proxy:latest + image: gitea.netrunner-vpn.com/nineap/netrunner-landing-proxy:latest container_name: netrunner-ws-proxy-dev restart: always ports: diff --git a/docker-compose.yml b/docker-compose.yml index a560157..497f8d7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,7 @@ services: # Фронтенд (Next.js) landing: - image: ghcr.io/nineap/netrunner-landing:latest + image: gitea.netrunner-vpn.com/nineap/netrunner-landing:latest container_name: netrunner-landing restart: always # Не 127.0.0.1 — /api/metrics (см. app/api/metrics/route.ts) должен @@ -54,7 +54,7 @@ services: # Прокси-слой (Rust) ws-proxy: - image: ghcr.io/nineap/netrunner-landing-proxy:latest + image: gitea.netrunner-vpn.com/nineap/netrunner-landing-proxy:latest container_name: netrunner-ws-proxy restart: always # Не 127.0.0.1 — /metrics (см. proxy-ws/src/main.rs) должен скрейпиться