Files
vibn-frontend/deploy_error.txt
mawkone 6b8862ef2b feat(api): comprehensive QA hardening — security gates, chat improvements, beta scaffolds
Closes checklist items F-01..F-06, D-01..D-28, S-01..S-10, C-01..C-07,
B-01..B-07, R-01..R-02, O-03.

Security (28 deletions + 10 auth gates):
- Delete 28 unauthenticated debug/cursor/firebase/test routes
- Gate ai/chat, ai/conversation, context/summarize, work-completed with withTenantProject/withAuth
- Add HMAC-SHA256 signature verification to webhooks/coolify
- Switch all admin secret comparisons to timingSafeStringEq

Foundations (lib/server/*):
- api-handler.ts: withAuth, withTenantProject, withWorkspace, withAdminSecret, withRateLimit
- logger.ts: structured request-scoped logging with turnId
- audit-log.ts: writeAuditLog helper + audit_log table
- rate-limit.ts: Postgres sliding window rate limiter
- coolify-webhook.ts: verifyCoolifySignature
- timing-safe.ts: timingSafeStringEq

Chat hardening (chat/route.ts):
- MAX_TOOL_ROUNDS 15 → 8 (C-01)
- Loop detection: hard-break at 3 identical fingerprints (was 5) (C-02)
- Add 6-consecutive-tool-call hard-break (C-02)
- Mode: respond first, act second prompt block (C-03)
- SSE heartbeat every 25s via setInterval (C-04)
- Per-tool 45s timeout via Promise.race (C-05)
- turnId per-turn UUID for log correlation (C-06)
- Recovery fires when roundsSinceText >= 4 (C-07)
- SSE plan event on plan_task_add/edit (B-05)

Beta features:
- invites table + GET/POST /api/invites (P4.8)
- invites/[token] validate + redeem (P4.8)
- fs_project_dev_servers table + lib/server/dev-server-state.ts (P6.B1)
- fs_project_secrets table + CRUD routes (P6.D2)
- lib/integrations/brief-extract.ts (P3.7)

Documentation:
- app/api/ROUTES.md: full route map with auth + tenant
2026-05-17 19:17:22 -07:00

2 lines
24 KiB
Plaintext

[{"command":null,"output":"Docker 27.0.3 with BuildKit and Buildx detected on deployment server (localhost).","type":"stdout","timestamp":"2026-05-16T21:57:35.692039Z","hidden":false,"batch":1},{"command":null,"output":"Starting deployment of https:\/\/git.vibnai.com\/mark\/vibn-frontend.git:main to localhost.","type":"stdout","timestamp":"2026-05-16T21:57:35.738938Z","hidden":false,"batch":1,"order":2},{"command":null,"output":"Preparing container with helper image: ghcr.io\/coollabsio\/coolify-helper:1.0.13","type":"stdout","timestamp":"2026-05-16T21:57:36.487209Z","hidden":false,"batch":1,"order":3},{"command":"docker stop -t 30 iy53yujv0jkvol25maud6x85","output":"Error response from daemon: No such container: iy53yujv0jkvol25maud6x85","type":"stderr","timestamp":"2026-05-16T21:57:36.770916Z","hidden":true,"batch":1,"order":4},{"command":"docker run -d --network 'coolify' --name iy53yujv0jkvol25maud6x85 --rm -v \/var\/run\/docker.sock:\/var\/run\/docker.sock ghcr.io\/coollabsio\/coolify-helper:1.0.13","output":"b2d82459da497b707bc188557355be86e6ad1c39da582616da9d378ef6628ff0","type":"stdout","timestamp":"2026-05-16T21:57:37.284114Z","hidden":true,"batch":2,"order":5},{"command":"docker exec iy53yujv0jkvol25maud6x85 bash -c 'GIT_SSH_COMMAND=\"ssh -o ConnectTimeout=30 -p 22 -o Port=22 -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git ls-remote https:\/\/git.vibnai.com\/mark\/vibn-frontend.git refs\/heads\/main'","output":"814815af82be69ad6cf3c0e14c76e6aef316631e\trefs\/heads\/main","type":"stdout","timestamp":"2026-05-16T21:57:40.117959Z","hidden":true,"batch":3,"order":6},{"command":null,"output":"----------------------------------------","type":"stdout","timestamp":"2026-05-16T21:57:40.176981Z","hidden":false,"batch":1,"order":7},{"command":null,"output":"Importing https:\/\/git.vibnai.com\/mark\/vibn-frontend.git:main (commit sha 814815af82be69ad6cf3c0e14c76e6aef316631e) to \/artifacts\/iy53yujv0jkvol25maud6x85.","type":"stdout","timestamp":"2026-05-16T21:57:40.217750Z","hidden":false,"batch":1,"order":8},{"command":"docker exec iy53yujv0jkvol25maud6x85 bash -c 'git clone --depth=1 --recurse-submodules --shallow-submodules -b '\\''main'\\'' '\\''https:\/\/git.vibnai.com\/mark\/vibn-frontend.git'\\'' '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git fetch --depth=1 origin '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' && git -c advice.detachedHead=false checkout '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' >\/dev\/null 2>&1 && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && if [ -f .gitmodules ]; then sed -i \"s#git@\\(.*\\):#https:\/\/\\1\/#g\" '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\''\/.gitmodules || true && git submodule sync && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git submodule update --init --recursive --depth=1; fi && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git lfs pull'","output":"Cloning into '\/artifacts\/iy53yujv0jkvol25maud6x85'...","type":"stderr","timestamp":"2026-05-16T21:57:41.048081Z","hidden":true,"batch":4,"order":9},{"command":"docker exec iy53yujv0jkvol25maud6x85 bash -c 'git clone --depth=1 --recurse-submodules --shallow-submodules -b '\\''main'\\'' '\\''https:\/\/git.vibnai.com\/mark\/vibn-frontend.git'\\'' '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git fetch --depth=1 origin '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' && git -c advice.detachedHead=false checkout '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' >\/dev\/null 2>&1 && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && if [ -f .gitmodules ]; then sed -i \"s#git@\\(.*\\):#https:\/\/\\1\/#g\" '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\''\/.gitmodules || true && git submodule sync && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git submodule update --init --recursive --depth=1; fi && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git lfs pull'","output":"Updating files: 85% (1506\/1754)","type":"stderr","timestamp":"2026-05-16T21:57:46.420662Z","hidden":true,"batch":4,"order":10},{"command":"docker exec iy53yujv0jkvol25maud6x85 bash -c 'git clone --depth=1 --recurse-submodules --shallow-submodules -b '\\''main'\\'' '\\''https:\/\/git.vibnai.com\/mark\/vibn-frontend.git'\\'' '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git fetch --depth=1 origin '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' && git -c advice.detachedHead=false checkout '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' >\/dev\/null 2>&1 && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && if [ -f .gitmodules ]; then sed -i \"s#git@\\(.*\\):#https:\/\/\\1\/#g\" '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\''\/.gitmodules || true && git submodule sync && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git submodule update --init --recursive --depth=1; fi && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git lfs pull'","output":"Updating files: 86% (1509\/1754)","type":"stderr","timestamp":"2026-05-16T21:57:46.445366Z","hidden":true,"batch":4,"order":11},{"command":"docker exec iy53yujv0jkvol25maud6x85 bash -c 'git clone --depth=1 --recurse-submodules --shallow-submodules -b '\\''main'\\'' '\\''https:\/\/git.vibnai.com\/mark\/vibn-frontend.git'\\'' '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git fetch --depth=1 origin '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' && git -c advice.detachedHead=false checkout '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' >\/dev\/null 2>&1 && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && if [ -f .gitmodules ]; then sed -i \"s#git@\\(.*\\):#https:\/\/\\1\/#g\" '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\''\/.gitmodules || true && git submodule sync && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git submodule update --init --recursive --depth=1; fi && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git lfs pull'","output":"Updating files: 87% (1526\/1754)","type":"stderr","timestamp":"2026-05-16T21:57:46.456866Z","hidden":true,"batch":4,"order":12},{"command":"docker exec iy53yujv0jkvol25maud6x85 bash -c 'git clone --depth=1 --recurse-submodules --shallow-submodules -b '\\''main'\\'' '\\''https:\/\/git.vibnai.com\/mark\/vibn-frontend.git'\\'' '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git fetch --depth=1 origin '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' && git -c advice.detachedHead=false checkout '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' >\/dev\/null 2>&1 && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && if [ -f .gitmodules ]; then sed -i \"s#git@\\(.*\\):#https:\/\/\\1\/#g\" '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\''\/.gitmodules || true && git submodule sync && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git submodule update --init --recursive --depth=1; fi && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git lfs pull'","output":"Updating files: 88% (1544\/1754)\rUpdating files: 89% (1562\/1754)\rUpdating files: 90% (1579\/1754)\rUpdating files: 91% (1597\/1754)","type":"stderr","timestamp":"2026-05-16T21:57:46.492382Z","hidden":true,"batch":4,"order":13},{"command":"docker exec iy53yujv0jkvol25maud6x85 bash -c 'git clone --depth=1 --recurse-submodules --shallow-submodules -b '\\''main'\\'' '\\''https:\/\/git.vibnai.com\/mark\/vibn-frontend.git'\\'' '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git fetch --depth=1 origin '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' && git -c advice.detachedHead=false checkout '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' >\/dev\/null 2>&1 && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && if [ -f .gitmodules ]; then sed -i \"s#git@\\(.*\\):#https:\/\/\\1\/#g\" '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\''\/.gitmodules || true && git submodule sync && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git submodule update --init --recursive --depth=1; fi && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git lfs pull'","output":"Updating files: 92% (1614\/1754)\rUpdating files: 93% (1632\/1754)\rUpdating files: 94% (1649\/1754)","type":"stderr","timestamp":"2026-05-16T21:57:46.497986Z","hidden":true,"batch":4,"order":14},{"command":"docker exec iy53yujv0jkvol25maud6x85 bash -c 'git clone --depth=1 --recurse-submodules --shallow-submodules -b '\\''main'\\'' '\\''https:\/\/git.vibnai.com\/mark\/vibn-frontend.git'\\'' '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git fetch --depth=1 origin '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' && git -c advice.detachedHead=false checkout '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' >\/dev\/null 2>&1 && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && if [ -f .gitmodules ]; then sed -i \"s#git@\\(.*\\):#https:\/\/\\1\/#g\" '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\''\/.gitmodules || true && git submodule sync && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git submodule update --init --recursive --depth=1; fi && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git lfs pull'","output":"Updating files: 95% (1667\/1754)","type":"stderr","timestamp":"2026-05-16T21:57:46.506559Z","hidden":true,"batch":4,"order":15},{"command":"docker exec iy53yujv0jkvol25maud6x85 bash -c 'git clone --depth=1 --recurse-submodules --shallow-submodules -b '\\''main'\\'' '\\''https:\/\/git.vibnai.com\/mark\/vibn-frontend.git'\\'' '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git fetch --depth=1 origin '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' && git -c advice.detachedHead=false checkout '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' >\/dev\/null 2>&1 && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && if [ -f .gitmodules ]; then sed -i \"s#git@\\(.*\\):#https:\/\/\\1\/#g\" '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\''\/.gitmodules || true && git submodule sync && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git submodule update --init --recursive --depth=1; fi && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git lfs pull'","output":"Updating files: 96% (1684\/1754)","type":"stderr","timestamp":"2026-05-16T21:57:46.522218Z","hidden":true,"batch":4,"order":16},{"command":"docker exec iy53yujv0jkvol25maud6x85 bash -c 'git clone --depth=1 --recurse-submodules --shallow-submodules -b '\\''main'\\'' '\\''https:\/\/git.vibnai.com\/mark\/vibn-frontend.git'\\'' '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git fetch --depth=1 origin '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' && git -c advice.detachedHead=false checkout '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' >\/dev\/null 2>&1 && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && if [ -f .gitmodules ]; then sed -i \"s#git@\\(.*\\):#https:\/\/\\1\/#g\" '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\''\/.gitmodules || true && git submodule sync && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git submodule update --init --recursive --depth=1; fi && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git lfs pull'","output":"Updating files: 97% (1702\/1754)\rUpdating files: 98% (1719\/1754)","type":"stderr","timestamp":"2026-05-16T21:57:46.546454Z","hidden":true,"batch":4,"order":17},{"command":"docker exec iy53yujv0jkvol25maud6x85 bash -c 'git clone --depth=1 --recurse-submodules --shallow-submodules -b '\\''main'\\'' '\\''https:\/\/git.vibnai.com\/mark\/vibn-frontend.git'\\'' '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git fetch --depth=1 origin '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' && git -c advice.detachedHead=false checkout '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' >\/dev\/null 2>&1 && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && if [ -f .gitmodules ]; then sed -i \"s#git@\\(.*\\):#https:\/\/\\1\/#g\" '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\''\/.gitmodules || true && git submodule sync && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git submodule update --init --recursive --depth=1; fi && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git lfs pull'","output":"Updating files: 99% (1737\/1754)\rUpdating files: 100% (1754\/1754)\rUpdating files: 100% (1754\/1754), done.","type":"stderr","timestamp":"2026-05-16T21:57:46.559301Z","hidden":true,"batch":4,"order":18},{"command":"docker exec iy53yujv0jkvol25maud6x85 bash -c 'git clone --depth=1 --recurse-submodules --shallow-submodules -b '\\''main'\\'' '\\''https:\/\/git.vibnai.com\/mark\/vibn-frontend.git'\\'' '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git fetch --depth=1 origin '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' && git -c advice.detachedHead=false checkout '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' >\/dev\/null 2>&1 && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && if [ -f .gitmodules ]; then sed -i \"s#git@\\(.*\\):#https:\/\/\\1\/#g\" '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\''\/.gitmodules || true && git submodule sync && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git submodule update --init --recursive --depth=1; fi && cd '\\''\/artifacts\/iy53yujv0jkvol25maud6x85'\\'' && GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=\/dev\/null\" git lfs pull'","output":"From https:\/\/git.vibnai.com\/mark\/vibn-frontend\n * branch 814815af82be69ad6cf3c0e14c76e6aef316631e -> FETCH_HEAD","type":"stderr","timestamp":"2026-05-16T21:57:46.811295Z","hidden":true,"batch":4,"order":19},{"command":"docker exec iy53yujv0jkvol25maud6x85 bash -c 'cd \/artifacts\/iy53yujv0jkvol25maud6x85 && git log -1 '\\''814815af82be69ad6cf3c0e14c76e6aef316631e'\\'' --pretty=%B'","output":"fix(deploy): install openssl in base docker image to fix prisma client initialization error during build phase","type":"stdout","timestamp":"2026-05-16T21:57:48.606485Z","hidden":true,"batch":6,"order":20},{"command":null,"output":"Image not found (y4cscsc8s08c8808go0448s0:814815af82be69ad6cf3c0e14c76e6aef316631e). Building new image.","type":"stdout","timestamp":"2026-05-16T21:57:48.851625Z","hidden":false,"batch":1,"order":21},{"command":"docker exec iy53yujv0jkvol25maud6x85 bash -c 'cat \/artifacts\/iy53yujv0jkvol25maud6x85\/Dockerfile'","output":"cat: can't open '\/artifacts\/iy53yujv0jkvol25maud6x85\/Dockerfile': No such file or directory","type":"stderr","timestamp":"2026-05-16T21:57:50.719280Z","hidden":true,"batch":10,"order":22},{"command":null,"output":"Creating build-time .env file in \/artifacts (outside Docker context).","type":"stdout","timestamp":"2026-05-16T21:57:52.183793Z","hidden":true,"batch":1,"order":23},{"command":"docker exec iy53yujv0jkvol25maud6x85 bash -c 'cat \/artifacts\/iy53yujv0jkvol25maud6x85\/Dockerfile'","output":"cat: can't open '\/artifacts\/iy53yujv0jkvol25maud6x85\/Dockerfile': No such file or directory","type":"stderr","timestamp":"2026-05-16T21:57:53.768951Z","hidden":true,"batch":13,"order":24},{"command":null,"output":"----------------------------------------","type":"stdout","timestamp":"2026-05-16T21:57:53.784223Z","hidden":false,"batch":1,"order":25},{"command":null,"output":"Building docker image started.","type":"stdout","timestamp":"2026-05-16T21:57:53.798083Z","hidden":false,"batch":1,"order":26},{"command":null,"output":"To check the current progress, click on Show Debug Logs.","type":"stdout","timestamp":"2026-05-16T21:57:53.812181Z","hidden":false,"batch":1,"order":27},{"command":"docker exec iy53yujv0jkvol25maud6x85 bash -c 'cat \/artifacts\/build.sh'","output":"cd \/artifacts\/iy53yujv0jkvol25maud6x85 && set -a && source \/artifacts\/build-time.env && set +a && DOCKER_BUILDKIT=1 docker build --add-host coolify:10.0.1.11 --add-host coolify-db:10.0.1.3 --add-host coolify-realtime:10.0.1.9 --add-host coolify-redis:10.0.1.2 --add-host kggs4ogckc0w8ggwkkk88kck:10.0.1.13 --add-host kggs4ogckc0w8ggwkkk88kck-proxy:10.0.1.6 --add-host mh20hmj0h7pg9ftt0upo8s8p:10.0.1.24 --add-host p4dpjwv9p188h3y21c4xgiwy:10.0.1.21 --add-host q8i3lfauirs97awl4pieqbme:10.0.1.16 --add-host qckwo4g8gs8kw08gkgc0ss0g:10.0.1.8 --add-host qckwo4g8gs8kw08gkgc0ss0g-proxy:10.0.1.20 --add-host rlwvhmh25r7n2g2pbzygjlms:10.0.1.30 --add-host vibn-dev-dm3hqkyjknucuehfmqb75627:10.0.1.14 --add-host vibn-dev-lbhz4nd7wllowjlnwm1tmhu3:10.0.1.10 --add-host yoscw0og00gkgcsgswoskc8c:10.0.1.17 --add-host yoscw0og00gkgcsgswoskc8c-proxy:10.0.1.7 --add-host zlxavhunxe6vit057ntt7imx:10.0.1.27 --network host -f \/artifacts\/iy53yujv0jkvol25maud6x85\/Dockerfile --progress plain -t y4cscsc8s08c8808go0448s0:814815af82be69ad6cf3c0e14c76e6aef316631e --build-arg COOLIFY_URL --build-arg COOLIFY_BRANCH --build-arg COOLIFY_RESOURCE_UUID --build-arg OPENSRS_API_KEY_LIVE --build-arg GITEA_API_TOKEN --build-arg NEXTAUTH_URL --build-arg COOLIFY_SERVER_UUID --build-arg GITEA_WEBHOOK_SECRET --build-arg AGENT_RUNNER_SECRET --build-arg GEMINI_MODEL --build-arg NEXTAUTH_SECRET --build-arg NEXT_PUBLIC_APP_URL --build-arg GOOGLE_SERVICE_ACCOUNT_KEY_B64 --build-arg GITEA_API_URL --build-arg GITEA_ADMIN_USER --build-arg GOOGLE_CLIENT_SECRET --build-arg AGENT_RUNNER_URL --build-arg ADMIN_MIGRATE_SECRET --build-arg GOOGLE_API_KEY --build-arg COOLIFY_API_TOKEN --build-arg OPENSRS_RESELLER_USERNAME --build-arg OPENSRS_API_KEY_TEST --build-arg OPENSRS_PORT --build-arg OPENSRS_MODE --build-arg OPENSRS_CURRENCY --build-arg GITHUB_CLIENT_ID --build-arg GITHUB_CLIENT_SECRET --build-arg COOLIFY_SSH_HOST --build-arg COOLIFY_SSH_PORT --build-arg COOLIFY_SSH_USER --build-arg COOLIFY_SSH_PRIVATE_KEY_B64 --build-arg GCP_PROJECT_ID --build-arg GOOGLE_CLIENT_ID --build-arg OPENSRS_HOST_LIVE --build-arg SENTRY_AUTH_TOKEN --build-arg GITEA_USERNAME --build-arg NEXT_PUBLIC_SENTRY_DSN --build-arg INFRA_HEALTH_SECRET --build-arg DATABASE_URL --build-arg OPENSRS_HOST_TEST --build-arg VIBN_SECRETS_KEY --build-arg COOLIFY_BUILD_SECRETS_HASH=8139843e870e13b929b1a153d03a63ab44957aa859be24b76062228914d14f84 --build-arg 'COOLIFY_URL' --build-arg 'COOLIFY_BRANCH' --build-arg 'COOLIFY_RESOURCE_UUID' \/artifacts\/iy53yujv0jkvol25maud6x85","type":"stdout","timestamp":"2026-05-16T21:57:54.749901Z","hidden":true,"batch":14,"order":28},{"command":"docker exec iy53yujv0jkvol25maud6x85 bash -c 'bash \/artifacts\/build.sh'","output":"#0 building with \"default\" instance using docker driver\n\n#1 [internal] load build definition from Dockerfile\n#1 transferring dockerfile: 2B 0.0s done\n#1 DONE 0.1s","type":"stderr","timestamp":"2026-05-16T21:57:56.039046Z","hidden":true,"batch":14,"order":29},{"command":"docker exec iy53yujv0jkvol25maud6x85 bash -c 'bash \/artifacts\/build.sh'","output":"ERROR: failed to build: failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory","type":"stderr","timestamp":"2026-05-16T21:57:56.132031Z","hidden":true,"batch":14,"order":30},{"command":"docker exec iy53yujv0jkvol25maud6x85 bash -c 'bash \/artifacts\/build.sh'","output":"exit status 1","type":"stderr","timestamp":"2026-05-16T21:57:56.144084Z","hidden":true,"batch":14,"order":31},{"command":null,"output":"========================================","type":"stderr","timestamp":"2026-05-16T21:57:56.248895Z","hidden":false,"batch":1,"order":32},{"command":null,"output":"Deployment failed: Command execution failed (exit code 1): docker exec iy53yujv0jkvol25maud6x85 bash -c 'bash \/artifacts\/build.sh'\nError: #0 building with \"default\" instance using docker driver\n\n#1 [internal] load build definition from Dockerfile\n#1 transferring dockerfile: 2B 0.0s done\n#1 DONE 0.1s\nERROR: failed to build: failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory\nexit status 1","type":"stderr","timestamp":"2026-05-16T21:57:56.259239Z","hidden":false,"batch":1,"order":33},{"command":null,"output":"Error type: App\\Exceptions\\DeploymentException","type":"stderr","timestamp":"2026-05-16T21:57:56.271042Z","hidden":true,"batch":1,"order":34},{"command":null,"output":"Error code: 0","type":"stderr","timestamp":"2026-05-16T21:57:56.295409Z","hidden":true,"batch":1,"order":35},{"command":null,"output":"Location: \/var\/www\/html\/app\/Traits\/ExecuteRemoteCommand.php:242","type":"stderr","timestamp":"2026-05-16T21:57:56.323687Z","hidden":true,"batch":1,"order":36},{"command":null,"output":"Stack trace (first 5 lines):","type":"stderr","timestamp":"2026-05-16T21:57:56.348272Z","hidden":true,"batch":1,"order":37},{"command":null,"output":"#0 \/var\/www\/html\/app\/Traits\/ExecuteRemoteCommand.php(106): App\\Jobs\\ApplicationDeploymentJob->executeCommandWithProcess()","type":"stderr","timestamp":"2026-05-16T21:57:56.386159Z","hidden":true,"batch":1,"order":38},{"command":null,"output":"#1 \/var\/www\/html\/vendor\/laravel\/framework\/src\/Illuminate\/Collections\/Traits\/EnumeratesValues.php(275): App\\Jobs\\ApplicationDeploymentJob->{closure:App\\Traits\\ExecuteRemoteCommand::execute_remote_command():72}()","type":"stderr","timestamp":"2026-05-16T21:57:56.404446Z","hidden":true,"batch":1,"order":39},{"command":null,"output":"#2 \/var\/www\/html\/app\/Traits\/ExecuteRemoteCommand.php(72): Illuminate\\Support\\Collection->each()","type":"stderr","timestamp":"2026-05-16T21:57:56.415183Z","hidden":true,"batch":1,"order":40},{"command":null,"output":"#3 \/var\/www\/html\/app\/Jobs\/ApplicationDeploymentJob.php(3290): App\\Jobs\\ApplicationDeploymentJob->execute_remote_command()","type":"stderr","timestamp":"2026-05-16T21:57:56.426721Z","hidden":true,"batch":1,"order":41},{"command":null,"output":"#4 \/var\/www\/html\/app\/Jobs\/ApplicationDeploymentJob.php(898): App\\Jobs\\ApplicationDeploymentJob->build_image()","type":"stderr","timestamp":"2026-05-16T21:57:56.452359Z","hidden":true,"batch":1,"order":42},{"command":null,"output":"========================================","type":"stderr","timestamp":"2026-05-16T21:57:56.466279Z","hidden":false,"batch":1,"order":43},{"command":null,"output":"Deployment failed. Removing the new version of your application.","type":"stderr","timestamp":"2026-05-16T21:57:56.489343Z","hidden":false,"batch":1,"order":44},{"command":null,"output":"Gracefully shutting down build container: iy53yujv0jkvol25maud6x85","type":"stdout","timestamp":"2026-05-16T21:57:57.505440Z","hidden":false,"batch":1,"order":45},{"command":"docker stop -t 30 iy53yujv0jkvol25maud6x85","output":"iy53yujv0jkvol25maud6x85","type":"stdout","timestamp":"2026-05-16T21:57:58.427355Z","hidden":true,"batch":17,"order":46}]