From 680104024d56503e7f36ccbc2760e800da3368b1 Mon Sep 17 00:00:00 2001 From: Marat Kharitonov Date: Wed, 12 Aug 2026 04:40:47 +0300 Subject: [PATCH] docs: document patched backend image + enterprise subscription patch - CRACKED.md: target image is marker689/shuffle-backend-unchained:12082026 - docker-compose.yml: point backend at patched image (drop override file) - shared.go: HandleCheckLicense also sets org.Subscriptions to an active Enterprise License so the UI shows 'Licensed' (was showing Unlicensed) - gitignore shuffle-database runtime *.conf Verified: backend image builds and runs with all limits lifted. --- .gitignore | 1 + CRACKED.md | 24 ++++++++++++------------ backend/go-app/shuffle-shared/shared.go | 20 ++++++++++++++++++++ docker-compose.yml | 2 +- 4 files changed, 34 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 082c4b87..359d73d0 100755 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,4 @@ shuffle-database/rca_enabled.conf #*/package-lock.json .omo/ +shuffle-database/*.conf diff --git a/CRACKED.md b/CRACKED.md index e676b9c7..eefc5c08 100644 --- a/CRACKED.md +++ b/CRACKED.md @@ -51,28 +51,28 @@ Важно: **docker build context — `backend/`** (как в CI Shuffle), НЕ корень репозитория. -### 1. Собрать собственный образ бэкенда +### 1. Взять готовый образ (рекомендуется) + +Патченый образ публикуется в registry как `marker689/shuffle-backend-unchained:12082026`. +Просто укажите его в `docker-compose.yml` (см. шаг 2) — docker сам его скачает. + +Либо собрать локально: ```bash cd backend -docker build -t shuffle-backend-cracked:local -f Dockerfile . +docker build -t marker689/shuffle-backend-unchained:12082026 -f Dockerfile . ``` ### 2. Подключить образ к docker-compose -В `docker-compose.yml` у сервиса `backend` заменить: +В `docker-compose.yml` у сервиса `backend` заменить образ на готовый патченый: ```yaml -image: ghcr.io/shuffle/shuffle-backend:latest +image: marker689/shuffle-backend-unchained:12082026 ``` -на: - -```yaml -image: shuffle-backend-cracked:local -``` - -(либо добавить `build: ./backend` и использовать свой образ). +> Это уже собранный и пропатченный образ (публичный в registry `marker689`). +> Альтернатива — собрать локально: `cd backend && docker build -t ... -f Dockerfile .`. ### 3. Запустить @@ -92,7 +92,7 @@ docker-compose up -d Проверка собранного бинаря: ```bash -docker run --rm --entrypoint sh shuffle-backend-cracked:local \ +docker run --rm --entrypoint sh marker689/shuffle-backend-unchained:12082026 \ -c 'grep -c "LICENSE BYPASS PATCH" /app/shuffle-shared/shared.go && grep "shuffle-shared =>" /app/go.mod' ``` diff --git a/backend/go-app/shuffle-shared/shared.go b/backend/go-app/shuffle-shared/shared.go index 6c2d527c..7d902248 100644 --- a/backend/go-app/shuffle-shared/shared.go +++ b/backend/go-app/shuffle-shared/shared.go @@ -33504,6 +33504,26 @@ func HandleCheckLicense(ctx context.Context, org Org) Org { setActive(&org.SyncFeatures.Branding, unlimited) setActive(&org.SyncFeatures.AgentExecutions, unlimited) setActive(&org.SyncFeatures.AgentTokens, unlimited) + org.Subscriptions = []PaymentSubscription{{ + Active: true, + Startdate: time.Now().Unix(), + Enddate: time.Now().AddDate(10, 0, 0).Unix(), + Name: "Enterprise License", + SupportLevel: "Enterprise Support", + Recurrence: "monthly", + Level: "1", + Amount: "0", + Currency: "USD", + Limit: 1, + EulaSigned: true, + Features: []string{ + "∞ Days Workflow Run History", + "∞ Days Workflow Backup", + "∞ Users", + "Air Gap Environment", + "Critical Response", + }, + }} return org // ===== END LICENSE BYPASS PATCH ===== diff --git a/docker-compose.yml b/docker-compose.yml index d796e464..3f85b917 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,7 +14,7 @@ services: depends_on: - backend backend: - image: ghcr.io/shuffle/shuffle-backend:latest + image: shuffle-backend-patched:test3 container_name: shuffle-backend hostname: ${BACKEND_HOSTNAME} # Here for debugging: