|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker compose logs backend --tail=60
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
backend-1 | [IP_ADDRESS] - - [09/May/2026:06:59:49 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] │
backend-1 | │ npm i @prisma/client@latest │
backend-1 | └─────────────────────────────────────────────────────────┘
backend-1 | Finance Hub API running on port 3001
backend-1 | [IP_ADDRESS] - - [09/May/2026:08:15:05 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] cd /volume2/docker/finance/finance-hub
sudo docker compose up -d --build backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 1.0s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 13.11kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:13a2f7dcf0adc691967e5364f8757ef382320b21006b1ac7d24adc1799c685a3 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.3s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.5s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.13kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:02d3fe405f031f93190cd6a129dd2b46cd9f7fa8024d10b9b28cde38ab699494 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 15.38kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7d1a56407bd7715bdcba452a02c8677926f7117c843d2e44ddd9f6317accb228 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.55kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build frontend && sudo docker compose up -d frontend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (10/10) FINISHED docker:default
=> [frontend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.1s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 48.01kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:c45ced4de6924d6e7d9c567ae6242ce5fab8944c0cd2e8d627ef614e1ca71640 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 3/3
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c "SELECT id, date, recipient, amount, source, created_at FROM payments ORDER BY id DESC LIMIT 5;" 2>/dev/null || docker ps --format "{{.Names}}" | grep finance
[sudo] password for Adm1n:
Sorry, try again.
[sudo] password for Adm1n:
id | date | recipient | amount | source | created_at
----+---------------------+-----------------------------------------+--------+--------+-------------------------
8 | 2026-05-08 00:00:00 | POL BALICE Lagardere Travel R KR3 | 5.49 | UPLOAD | 2026-05-09 08:26:53.656
7 | 2026-05-08 00:00:00 | BGR SOFIA CBA EKO MARKET | 5.51 | UPLOAD | 2026-05-09 08:26:53.642
6 | 2026-05-08 00:00:00 | BGR SOFIYA LIDL BALGARIYA EOOD UL TODOR | 67.81 | UPLOAD | 2026-05-09 08:26:53.624
5 | 2026-05-08 00:00:00 | | 9.04 | UPLOAD | 2026-05-09 08:26:53.599
4 | 2026-05-08 00:00:00 | | 15.46 | UPLOAD | 2026-05-09 08:26:53.59
(5 rows)
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.2s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 2.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 937B 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> CACHED [backend 8/8] COPY src ./src 0.0s
=> [backend] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c \
"DELETE FROM payments WHERE source = 'UPLOAD';"
DELETE 6
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 5.9s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.3s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 25.52kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> [backend 6/8] COPY prisma ./prisma 0.2s
=> [backend 7/8] RUN npx prisma generate 2.4s
=> [backend 8/8] COPY src ./src 0.3s
=> [backend] exporting to image 0.3s
=> => exporting layers 0.2s
=> => writing image sha256:fc36c7301ada2a9c45ef05ec92b20570dd69046ec325235b2226ed82b2909337 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.0s
=> => transferring context: 36.04kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:b4d7b6898e5207dedb53a8d0ac96e20899a5d038347eee734d91cca6066d9426 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub \
-c "DELETE FROM transaction_imports WHERE source = 'UPLOAD';"
DELETE 16
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 27.87kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:76cf6b3f9d66734e70cc178450ff953e2dfdca2d8340ec597af38365b4ecfb10 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.7s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh --dry-run
ERROR: export file not found: --dry-run
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh
Import target : http://localhost:3001/api/payments/ingest
Records found : 215
Mode : LIVE
[1/215] OK DSK Bank. Na 18/02/2026 v 20:38 sa plateni 4.19 EUR s karta 400915***4
[2/215] OK DSK Bank. Na 20/02/2026 v 13:08 sa plateni 13.75 EUR s karta 400915***
[3/215] OK DSK Bank. Na 20/02/2026 v 18:17 sa plateni 16.58 EUR s karta 400915***
[4/215] OK DSK Bank. Na 20/02/2026 v 18:28 sa plateni 12.51 EUR s karta 400915***
[5/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa iztegleni 400.00 EUR s karta 483890
[6/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa plateni 0.50 EUR/0.50 EUR s karta 4
[7/215] OK DSK Bank. Na 24/02/2026 v 08:42 sa plateni 116.85 EUR s karta 400915**
[8/215] OK DSK Bank. Na 25/02/2026 v 08:38 sa plateni 78.01 EUR s karta 400915***
[9/215] OK DSK Bank. Na 26/02/2026 v 08:39 sa plateni 59.65 EUR s karta 400915***
[10/215] OK DSK Bank. Na 26/02/2026 v 09:10 sa plateni 14.40 EUR s karta 400915***
[11/215] OK DSK Bank. Na 26/02/2026 v 17:06 sa plateni 6.63 EUR s karta 400915***4
[12/215] OK ...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker compose logs backend --tail=60
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
backend-1 | [IP_ADDRESS] - - [09/May/2026:06:59:49 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] │
backend-1 | │ npm i @prisma/client@latest │
backend-1 | └─────────────────────────────────────────────────────────┘
backend-1 | Finance Hub API running on port 3001
backend-1 | [IP_ADDRESS] - - [09/May/2026:08:15:05 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] cd /volume2/docker/finance/finance-hub
sudo docker compose up -d --build backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 1.0s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 13.11kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:13a2f7dcf0adc691967e5364f8757ef382320b21006b1ac7d24adc1799c685a3 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.3s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.5s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.13kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:02d3fe405f031f93190cd6a129dd2b46cd9f7fa8024d10b9b28cde38ab699494 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 15.38kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7d1a56407bd7715bdcba452a02c8677926f7117c843d2e44ddd9f6317accb228 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.55kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build frontend && sudo docker compose up -d frontend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (10/10) FINISHED docker:default
=> [frontend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.1s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 48.01kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:c45ced4de6924d6e7d9c567ae6242ce5fab8944c0cd2e8d627ef614e1ca71640 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 3/3
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c "SELECT id, date, recipient, amount, source, created_at FROM payments ORDER BY id DESC LIMIT 5;" 2>/dev/null || docker ps --format "{{.Names}}" | grep finance
[sudo] password for Adm1n:
Sorry, try again.
[sudo] password for Adm1n:
id | date | recipient | amount | source | created_at
----+---------------------+-----------------------------------------+--------+--------+-------------------------
8 | 2026-05-08 00:00:00 | POL BALICE Lagardere Travel R KR3 | 5.49 | UPLOAD | 2026-05-09 08:26:53.656
7 | 2026-05-08 00:00:00 | BGR SOFIA CBA EKO MARKET | 5.51 | UPLOAD | 2026-05-09 08:26:53.642
6 | 2026-05-08 00:00:00 | BGR SOFIYA LIDL BALGARIYA EOOD UL TODOR | 67.81 | UPLOAD | 2026-05-09 08:26:53.624
5 | 2026-05-08 00:00:00 | | 9.04 | UPLOAD | 2026-05-09 08:26:53.599
4 | 2026-05-08 00:00:00 | | 15.46 | UPLOAD | 2026-05-09 08:26:53.59
(5 rows)
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.2s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 2.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 937B 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> CACHED [backend 8/8] COPY src ./src 0.0s
=> [backend] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c \
"DELETE FROM payments WHERE source = 'UPLOAD';"
DELETE 6
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 5.9s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.3s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 25.52kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> [backend 6/8] COPY prisma ./prisma 0.2s
=> [backend 7/8] RUN npx prisma generate 2.4s
=> [backend 8/8] COPY src ./src 0.3s
=> [backend] exporting to image 0.3s
=> => exporting layers 0.2s
=> => writing image sha256:fc36c7301ada2a9c45ef05ec92b20570dd69046ec325235b2226ed82b2909337 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.0s
=> => transferring context: 36.04kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:b4d7b6898e5207dedb53a8d0ac96e20899a5d038347eee734d91cca6066d9426 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub \
-c "DELETE FROM transaction_imports WHERE source = 'UPLOAD';"
DELETE 16
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 27.87kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:76cf6b3f9d66734e70cc178450ff953e2dfdca2d8340ec597af38365b4ecfb10 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.7s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh --dry-run
ERROR: export file not found: --dry-run
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh
Import target : http://localhost:3001/api/payments/ingest
Records found : 215
Mode : LIVE
[1/215] OK DSK Bank. Na 18/02/2026 v 20:38 sa plateni 4.19 EUR s karta 400915***4
[2/215] OK DSK Bank. Na 20/02/2026 v 13:08 sa plateni 13.75 EUR s karta 400915***
[3/215] OK DSK Bank. Na 20/02/2026 v 18:17 sa plateni 16.58 EUR s karta 400915***
[4/215] OK DSK Bank. Na 20/02/2026 v 18:28 sa plateni 12.51 EUR s karta 400915***
[5/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa iztegleni 400.00 EUR s karta 483890
[6/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa plateni 0.50 EUR/0.50 EUR s karta 4
[7/215] OK DSK Bank. Na 24/02/2026 v 08:42 sa plateni 116.85 EUR s karta 400915**
[8/215] OK DSK Bank. Na 25/02/2026 v 08:38 sa plateni 78.01 EUR s karta 400915***
[9/215] OK DSK Bank. Na 26/02/2026 v 08:39 sa plateni 59.65 EUR s karta 400915***
[10/215] OK DSK Bank. Na 26/02/2026 v 09:10 sa plateni 14.40 EUR s karta 400915***
[11/215] OK DSK Bank. Na 26/02/2026 v 17:06 sa plateni 6.63 EUR s karta 400915***4
[12/215] OK ...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker compose logs backend --tail=60
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
backend-1 | [IP_ADDRESS] - - [09/May/2026:06:59:49 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] │
backend-1 | │ npm i @prisma/client@latest │
backend-1 | └─────────────────────────────────────────────────────────┘
backend-1 | Finance Hub API running on port 3001
backend-1 | [IP_ADDRESS] - - [09/May/2026:08:15:05 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] cd /volume2/docker/finance/finance-hub
sudo docker compose up -d --build backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 1.0s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 13.11kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:13a2f7dcf0adc691967e5364f8757ef382320b21006b1ac7d24adc1799c685a3 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.3s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.5s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.13kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:02d3fe405f031f93190cd6a129dd2b46cd9f7fa8024d10b9b28cde38ab699494 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 15.38kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7d1a56407bd7715bdcba452a02c8677926f7117c843d2e44ddd9f6317accb228 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.55kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build frontend && sudo docker compose up -d frontend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (10/10) FINISHED docker:default
=> [frontend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.1s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 48.01kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:c45ced4de6924d6e7d9c567ae6242ce5fab8944c0cd2e8d627ef614e1ca71640 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 3/3
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c "SELECT id, date, recipient, amount, source, created_at FROM payments ORDER BY id DESC LIMIT 5;" 2>/dev/null || docker ps --format "{{.Names}}" | grep finance
[sudo] password for Adm1n:
Sorry, try again.
[sudo] password for Adm1n:
id | date | recipient | amount | source | created_at
----+---------------------+-----------------------------------------+--------+--------+-------------------------
8 | 2026-05-08 00:00:00 | POL BALICE Lagardere Travel R KR3 | 5.49 | UPLOAD | 2026-05-09 08:26:53.656
7 | 2026-05-08 00:00:00 | BGR SOFIA CBA EKO MARKET | 5.51 | UPLOAD | 2026-05-09 08:26:53.642
6 | 2026-05-08 00:00:00 | BGR SOFIYA LIDL BALGARIYA EOOD UL TODOR | 67.81 | UPLOAD | 2026-05-09 08:26:53.624
5 | 2026-05-08 00:00:00 | | 9.04 | UPLOAD | 2026-05-09 08:26:53.599
4 | 2026-05-08 00:00:00 | | 15.46 | UPLOAD | 2026-05-09 08:26:53.59
(5 rows)
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.2s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 2.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 937B 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> CACHED [backend 8/8] COPY src ./src 0.0s
=> [backend] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c \
"DELETE FROM payments WHERE source = 'UPLOAD';"
DELETE 6
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 5.9s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.3s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 25.52kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> [backend 6/8] COPY prisma ./prisma 0.2s
=> [backend 7/8] RUN npx prisma generate 2.4s
=> [backend 8/8] COPY src ./src 0.3s
=> [backend] exporting to image 0.3s
=> => exporting layers 0.2s
=> => writing image sha256:fc36c7301ada2a9c45ef05ec92b20570dd69046ec325235b2226ed82b2909337 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.0s
=> => transferring context: 36.04kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:b4d7b6898e5207dedb53a8d0ac96e20899a5d038347eee734d91cca6066d9426 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub \
-c "DELETE FROM transaction_imports WHERE source = 'UPLOAD';"
DELETE 16
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 27.87kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:76cf6b3f9d66734e70cc178450ff953e2dfdca2d8340ec597af38365b4ecfb10 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.7s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh --dry-run
ERROR: export file not found: --dry-run
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh
Import target : http://localhost:3001/api/payments/ingest
Records found : 215
Mode : LIVE
[1/215] OK DSK Bank. Na 18/02/2026 v 20:38 sa plateni 4.19 EUR s karta 400915***4
[2/215] OK DSK Bank. Na 20/02/2026 v 13:08 sa plateni 13.75 EUR s karta 400915***
[3/215] OK DSK Bank. Na 20/02/2026 v 18:17 sa plateni 16.58 EUR s karta 400915***
[4/215] OK DSK Bank. Na 20/02/2026 v 18:28 sa plateni 12.51 EUR s karta 400915***
[5/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa iztegleni 400.00 EUR s karta 483890
[6/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa plateni 0.50 EUR/0.50 EUR s karta 4
[7/215] OK DSK Bank. Na 24/02/2026 v 08:42 sa plateni 116.85 EUR s karta 400915**
[8/215] OK DSK Bank. Na 25/02/2026 v 08:38 sa plateni 78.01 EUR s karta 400915***
[9/215] OK DSK Bank. Na 26/02/2026 v 08:39 sa plateni 59.65 EUR s karta 400915***
[10/215] OK DSK Bank. Na 26/02/2026 v 09:10 sa plateni 14.40 EUR s karta 400915***
[11/215] OK DSK Bank. Na 26/02/2026 v 17:06 sa plateni 6.63 EUR s karta 400915***4
[12/215] OK ...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker compose logs backend --tail=60
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
backend-1 | [IP_ADDRESS] - - [09/May/2026:06:59:49 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] │
backend-1 | │ npm i @prisma/client@latest │
backend-1 | └─────────────────────────────────────────────────────────┘
backend-1 | Finance Hub API running on port 3001
backend-1 | [IP_ADDRESS] - - [09/May/2026:08:15:05 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] cd /volume2/docker/finance/finance-hub
sudo docker compose up -d --build backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 1.0s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 13.11kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:13a2f7dcf0adc691967e5364f8757ef382320b21006b1ac7d24adc1799c685a3 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.3s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.5s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.13kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:02d3fe405f031f93190cd6a129dd2b46cd9f7fa8024d10b9b28cde38ab699494 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 15.38kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7d1a56407bd7715bdcba452a02c8677926f7117c843d2e44ddd9f6317accb228 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.55kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build frontend && sudo docker compose up -d frontend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (10/10) FINISHED docker:default
=> [frontend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.1s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 48.01kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:c45ced4de6924d6e7d9c567ae6242ce5fab8944c0cd2e8d627ef614e1ca71640 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 3/3
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c "SELECT id, date, recipient, amount, source, created_at FROM payments ORDER BY id DESC LIMIT 5;" 2>/dev/null || docker ps --format "{{.Names}}" | grep finance
[sudo] password for Adm1n:
Sorry, try again.
[sudo] password for Adm1n:
id | date | recipient | amount | source | created_at
----+---------------------+-----------------------------------------+--------+--------+-------------------------
8 | 2026-05-08 00:00:00 | POL BALICE Lagardere Travel R KR3 | 5.49 | UPLOAD | 2026-05-09 08:26:53.656
7 | 2026-05-08 00:00:00 | BGR SOFIA CBA EKO MARKET | 5.51 | UPLOAD | 2026-05-09 08:26:53.642
6 | 2026-05-08 00:00:00 | BGR SOFIYA LIDL BALGARIYA EOOD UL TODOR | 67.81 | UPLOAD | 2026-05-09 08:26:53.624
5 | 2026-05-08 00:00:00 | | 9.04 | UPLOAD | 2026-05-09 08:26:53.599
4 | 2026-05-08 00:00:00 | | 15.46 | UPLOAD | 2026-05-09 08:26:53.59
(5 rows)
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.2s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 2.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 937B 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> CACHED [backend 8/8] COPY src ./src 0.0s
=> [backend] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c \
"DELETE FROM payments WHERE source = 'UPLOAD';"
DELETE 6
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 5.9s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.3s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 25.52kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> [backend 6/8] COPY prisma ./prisma 0.2s
=> [backend 7/8] RUN npx prisma generate 2.4s
=> [backend 8/8] COPY src ./src 0.3s
=> [backend] exporting to image 0.3s
=> => exporting layers 0.2s
=> => writing image sha256:fc36c7301ada2a9c45ef05ec92b20570dd69046ec325235b2226ed82b2909337 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.0s
=> => transferring context: 36.04kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:b4d7b6898e5207dedb53a8d0ac96e20899a5d038347eee734d91cca6066d9426 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub \
-c "DELETE FROM transaction_imports WHERE source = 'UPLOAD';"
DELETE 16
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 27.87kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:76cf6b3f9d66734e70cc178450ff953e2dfdca2d8340ec597af38365b4ecfb10 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.7s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh --dry-run
ERROR: export file not found: --dry-run
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh
Import target : http://localhost:3001/api/payments/ingest
Records found : 215
Mode : LIVE
[1/215] OK DSK Bank. Na 18/02/2026 v 20:38 sa plateni 4.19 EUR s karta 400915***4
[2/215] OK DSK Bank. Na 20/02/2026 v 13:08 sa plateni 13.75 EUR s karta 400915***
[3/215] OK DSK Bank. Na 20/02/2026 v 18:17 sa plateni 16.58 EUR s karta 400915***
[4/215] OK DSK Bank. Na 20/02/2026 v 18:28 sa plateni 12.51 EUR s karta 400915***
[5/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa iztegleni 400.00 EUR s karta 483890
[6/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa plateni 0.50 EUR/0.50 EUR s karta 4
[7/215] OK DSK Bank. Na 24/02/2026 v 08:42 sa plateni 116.85 EUR s karta 400915**
[8/215] OK DSK Bank. Na 25/02/2026 v 08:38 sa plateni 78.01 EUR s karta 400915***
[9/215] OK DSK Bank. Na 26/02/2026 v 08:39 sa plateni 59.65 EUR s karta 400915***
[10/215] OK DSK Bank. Na 26/02/2026 v 09:10 sa plateni 14.40 EUR s karta 400915***
[11/215] OK DSK Bank. Na 26/02/2026 v 17:06 sa plateni 6.63 EUR s karta 400915***4
[12/215] OK ...
|
iTerm2
|
ssh
|
NULL
|
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpssh‹ 40screenpipe"• *5100% <7*886DOCKERO ₴1DEV (-zsh)O 82APP (-zsh)• *3-zsh• $4-zsh=>[frontendinternal]load.dockerignore=>transferring context:2B[frontend internal] loadbuildcontexttransferring context:9.17KBCACHED [frontend 2/5] WORKDIR/app=CACHED [frontend 3/5]COPYpackage.json package-lock.json* ./=> CACHED [frontend 4/5] RUN npminstall[frontend 5/5] COPY[frontend]exportingtoimage= exporting layers=>= writingimagesha256:bd3575158c657b460d39b1be98aa3e7122328a467c1158eb196ed1846dcec7c7namingto docker.io/library/finance-hub-frontend[+] Running 4/4• Container finance-hub-db-1Healthy• Container finance-hub-backend-1Started• Container finance-hub-adminer-1Running• Container finance-hub-frontend-1StartedAdm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hubsudo dockercompose up-d --build backend[sudo] password for Admin:WARN [0000] /volume2/docker/finance/finance-hub/docker-compose.yml: 'version' is obsolete[+] Building 1.9s (13/13) FINISHED=> [backend internal] load build definition from Dockerfile= => transferring dockerfile: 329B= [backend internal] load metadatafor docker.io/library/node:20-alpine→ [backend internal] loaddockerignore= = transferring context: 2B=> [backend internal]load build context→ => transferring context: 4.68kB= [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293=> CACHED [backend 2/8] RUN apk add--no-cache openssl=> CACHED [backend 3/8] WORKDIR/app=> CACHED[backend 4/8] COPY package.json package-lock.json* ./=> CACHED[backend 5/8] RUN npminstall=> CACHED [backend 6/8]COPYprisma•/prisma=> CACHED [backend 7/8] RUN npx prisma generate=> [backend 8/8] COPY src./src[backend]exportingto image=>=> exporting layers= writing image sha256:8978e6f8af14daaa785df5f55bb63017dc71f7aaceabfc442f0edb6ad697fcdenaming to docker.io/library/finance-hub-backend[+] Running 2/2• Container finance-hub-db-1Healthy/ Container finance-hub-backend-1StartedAdm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ curl -s -o /dev/null -w "%{http_code}"https://finance-hub.lakylak.xyz/api/paymentsSat 9 May 19:42:38sshT81+0.150.0s0.150.0s0.0s0.0s0.0s0.2s0.2s0.1s0.0s0.0s0.0s10.650.0s0.5sdocker:default0.150.0s1.1s0.0s0.0s0.150.0s0.0s0.0s0.0s0.0s0.050.0s0.0s0.2s0.2s0.150.0s0.0s0.0s10.65...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker compose logs backend --tail=60
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
backend-1 | [IP_ADDRESS] - - [09/May/2026:06:59:49 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] │
backend-1 | │ npm i @prisma/client@latest │
backend-1 | └─────────────────────────────────────────────────────────┘
backend-1 | Finance Hub API running on port 3001
backend-1 | [IP_ADDRESS] - - [09/May/2026:08:15:05 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] cd /volume2/docker/finance/finance-hub
sudo docker compose up -d --build backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 1.0s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 13.11kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:13a2f7dcf0adc691967e5364f8757ef382320b21006b1ac7d24adc1799c685a3 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.3s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.5s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.13kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:02d3fe405f031f93190cd6a129dd2b46cd9f7fa8024d10b9b28cde38ab699494 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 15.38kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7d1a56407bd7715bdcba452a02c8677926f7117c843d2e44ddd9f6317accb228 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.55kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build frontend && sudo docker compose up -d frontend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (10/10) FINISHED docker:default
=> [frontend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.1s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 48.01kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:c45ced4de6924d6e7d9c567ae6242ce5fab8944c0cd2e8d627ef614e1ca71640 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 3/3
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c "SELECT id, date, recipient, amount, source, created_at FROM payments ORDER BY id DESC LIMIT 5;" 2>/dev/null || docker ps --format "{{.Names}}" | grep finance
[sudo] password for Adm1n:
Sorry, try again.
[sudo] password for Adm1n:
id | date | recipient | amount | source | created_at
----+---------------------+-----------------------------------------+--------+--------+-------------------------
8 | 2026-05-08 00:00:00 | POL BALICE Lagardere Travel R KR3 | 5.49 | UPLOAD | 2026-05-09 08:26:53.656
7 | 2026-05-08 00:00:00 | BGR SOFIA CBA EKO MARKET | 5.51 | UPLOAD | 2026-05-09 08:26:53.642
6 | 2026-05-08 00:00:00 | BGR SOFIYA LIDL BALGARIYA EOOD UL TODOR | 67.81 | UPLOAD | 2026-05-09 08:26:53.624
5 | 2026-05-08 00:00:00 | | 9.04 | UPLOAD | 2026-05-09 08:26:53.599
4 | 2026-05-08 00:00:00 | | 15.46 | UPLOAD | 2026-05-09 08:26:53.59
(5 rows)
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.2s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 2.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 937B 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> CACHED [backend 8/8] COPY src ./src 0.0s
=> [backend] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c \
"DELETE FROM payments WHERE source = 'UPLOAD';"
DELETE 6
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 5.9s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.3s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 25.52kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> [backend 6/8] COPY prisma ./prisma 0.2s
=> [backend 7/8] RUN npx prisma generate 2.4s
=> [backend 8/8] COPY src ./src 0.3s
=> [backend] exporting to image 0.3s
=> => exporting layers 0.2s
=> => writing image sha256:fc36c7301ada2a9c45ef05ec92b20570dd69046ec325235b2226ed82b2909337 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.0s
=> => transferring context: 36.04kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:b4d7b6898e5207dedb53a8d0ac96e20899a5d038347eee734d91cca6066d9426 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub \
-c "DELETE FROM transaction_imports WHERE source = 'UPLOAD';"
DELETE 16
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 27.87kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:76cf6b3f9d66734e70cc178450ff953e2dfdca2d8340ec597af38365b4ecfb10 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.7s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh --dry-run
ERROR: export file not found: --dry-run
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh
Import target : http://localhost:3001/api/payments/ingest
Records found : 215
Mode : LIVE
[1/215] OK DSK Bank. Na 18/02/2026 v 20:38 sa plateni 4.19 EUR s karta 400915***4
[2/215] OK DSK Bank. Na 20/02/2026 v 13:08 sa plateni 13.75 EUR s karta 400915***
[3/215] OK DSK Bank. Na 20/02/2026 v 18:17 sa plateni 16.58 EUR s karta 400915***
[4/215] OK DSK Bank. Na 20/02/2026 v 18:28 sa plateni 12.51 EUR s karta 400915***
[5/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa iztegleni 400.00 EUR s karta 483890
[6/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa plateni 0.50 EUR/0.50 EUR s karta 4
[7/215] OK DSK Bank. Na 24/02/2026 v 08:42 sa plateni 116.85 EUR s karta 400915**
[8/215] OK DSK Bank. Na 25/02/2026 v 08:38 sa plateni 78.01 EUR s karta 400915***
[9/215] OK DSK Bank. Na 26/02/2026 v 08:39 sa plateni 59.65 EUR s karta 400915***
[10/215] OK DSK Bank. Na 26/02/2026 v 09:10 sa plateni 14.40 EUR s karta 400915***
[11/215] OK DSK Bank. Na 26/02/2026 v 17:06 sa plateni 6.63 EUR s karta 400915***4
[12/215] OK ...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker compose logs backend --tail=60
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
backend-1 | [IP_ADDRESS] - - [09/May/2026:06:59:49 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] │
backend-1 | │ npm i @prisma/client@latest │
backend-1 | └─────────────────────────────────────────────────────────┘
backend-1 | Finance Hub API running on port 3001
backend-1 | [IP_ADDRESS] - - [09/May/2026:08:15:05 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] cd /volume2/docker/finance/finance-hub
sudo docker compose up -d --build backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 1.0s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 13.11kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:13a2f7dcf0adc691967e5364f8757ef382320b21006b1ac7d24adc1799c685a3 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.3s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.5s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.13kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:02d3fe405f031f93190cd6a129dd2b46cd9f7fa8024d10b9b28cde38ab699494 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 15.38kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7d1a56407bd7715bdcba452a02c8677926f7117c843d2e44ddd9f6317accb228 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.55kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build frontend && sudo docker compose up -d frontend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (10/10) FINISHED docker:default
=> [frontend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.1s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 48.01kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:c45ced4de6924d6e7d9c567ae6242ce5fab8944c0cd2e8d627ef614e1ca71640 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 3/3
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c "SELECT id, date, recipient, amount, source, created_at FROM payments ORDER BY id DESC LIMIT 5;" 2>/dev/null || docker ps --format "{{.Names}}" | grep finance
[sudo] password for Adm1n:
Sorry, try again.
[sudo] password for Adm1n:
id | date | recipient | amount | source | created_at
----+---------------------+-----------------------------------------+--------+--------+-------------------------
8 | 2026-05-08 00:00:00 | POL BALICE Lagardere Travel R KR3 | 5.49 | UPLOAD | 2026-05-09 08:26:53.656
7 | 2026-05-08 00:00:00 | BGR SOFIA CBA EKO MARKET | 5.51 | UPLOAD | 2026-05-09 08:26:53.642
6 | 2026-05-08 00:00:00 | BGR SOFIYA LIDL BALGARIYA EOOD UL TODOR | 67.81 | UPLOAD | 2026-05-09 08:26:53.624
5 | 2026-05-08 00:00:00 | | 9.04 | UPLOAD | 2026-05-09 08:26:53.599
4 | 2026-05-08 00:00:00 | | 15.46 | UPLOAD | 2026-05-09 08:26:53.59
(5 rows)
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.2s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 2.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 937B 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> CACHED [backend 8/8] COPY src ./src 0.0s
=> [backend] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c \
"DELETE FROM payments WHERE source = 'UPLOAD';"
DELETE 6
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 5.9s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.3s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 25.52kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> [backend 6/8] COPY prisma ./prisma 0.2s
=> [backend 7/8] RUN npx prisma generate 2.4s
=> [backend 8/8] COPY src ./src 0.3s
=> [backend] exporting to image 0.3s
=> => exporting layers 0.2s
=> => writing image sha256:fc36c7301ada2a9c45ef05ec92b20570dd69046ec325235b2226ed82b2909337 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.0s
=> => transferring context: 36.04kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:b4d7b6898e5207dedb53a8d0ac96e20899a5d038347eee734d91cca6066d9426 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub \
-c "DELETE FROM transaction_imports WHERE source = 'UPLOAD';"
DELETE 16
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 27.87kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:76cf6b3f9d66734e70cc178450ff953e2dfdca2d8340ec597af38365b4ecfb10 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.7s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh --dry-run
ERROR: export file not found: --dry-run
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh
Import target : http://localhost:3001/api/payments/ingest
Records found : 215
Mode : LIVE
[1/215] OK DSK Bank. Na 18/02/2026 v 20:38 sa plateni 4.19 EUR s karta 400915***4
[2/215] OK DSK Bank. Na 20/02/2026 v 13:08 sa plateni 13.75 EUR s karta 400915***
[3/215] OK DSK Bank. Na 20/02/2026 v 18:17 sa plateni 16.58 EUR s karta 400915***
[4/215] OK DSK Bank. Na 20/02/2026 v 18:28 sa plateni 12.51 EUR s karta 400915***
[5/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa iztegleni 400.00 EUR s karta 483890
[6/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa plateni 0.50 EUR/0.50 EUR s karta 4
[7/215] OK DSK Bank. Na 24/02/2026 v 08:42 sa plateni 116.85 EUR s karta 400915**
[8/215] OK DSK Bank. Na 25/02/2026 v 08:38 sa plateni 78.01 EUR s karta 400915***
[9/215] OK DSK Bank. Na 26/02/2026 v 08:39 sa plateni 59.65 EUR s karta 400915***
[10/215] OK DSK Bank. Na 26/02/2026 v 09:10 sa plateni 14.40 EUR s karta 400915***
[11/215] OK DSK Bank. Na 26/02/2026 v 17:06 sa plateni 6.63 EUR s karta 400915***4
[12/215] OK ...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker compose logs backend --tail=60
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
backend-1 | [IP_ADDRESS] - - [09/May/2026:06:59:49 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] │
backend-1 | │ npm i @prisma/client@latest │
backend-1 | └─────────────────────────────────────────────────────────┘
backend-1 | Finance Hub API running on port 3001
backend-1 | [IP_ADDRESS] - - [09/May/2026:08:15:05 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] cd /volume2/docker/finance/finance-hub
sudo docker compose up -d --build backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 1.0s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 13.11kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:13a2f7dcf0adc691967e5364f8757ef382320b21006b1ac7d24adc1799c685a3 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.3s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.5s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.13kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:02d3fe405f031f93190cd6a129dd2b46cd9f7fa8024d10b9b28cde38ab699494 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 15.38kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7d1a56407bd7715bdcba452a02c8677926f7117c843d2e44ddd9f6317accb228 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.55kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build frontend && sudo docker compose up -d frontend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (10/10) FINISHED docker:default
=> [frontend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.1s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 48.01kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:c45ced4de6924d6e7d9c567ae6242ce5fab8944c0cd2e8d627ef614e1ca71640 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 3/3
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c "SELECT id, date, recipient, amount, source, created_at FROM payments ORDER BY id DESC LIMIT 5;" 2>/dev/null || docker ps --format "{{.Names}}" | grep finance
[sudo] password for Adm1n:
Sorry, try again.
[sudo] password for Adm1n:
id | date | recipient | amount | source | created_at
----+---------------------+-----------------------------------------+--------+--------+-------------------------
8 | 2026-05-08 00:00:00 | POL BALICE Lagardere Travel R KR3 | 5.49 | UPLOAD | 2026-05-09 08:26:53.656
7 | 2026-05-08 00:00:00 | BGR SOFIA CBA EKO MARKET | 5.51 | UPLOAD | 2026-05-09 08:26:53.642
6 | 2026-05-08 00:00:00 | BGR SOFIYA LIDL BALGARIYA EOOD UL TODOR | 67.81 | UPLOAD | 2026-05-09 08:26:53.624
5 | 2026-05-08 00:00:00 | | 9.04 | UPLOAD | 2026-05-09 08:26:53.599
4 | 2026-05-08 00:00:00 | | 15.46 | UPLOAD | 2026-05-09 08:26:53.59
(5 rows)
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.2s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 2.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 937B 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> CACHED [backend 8/8] COPY src ./src 0.0s
=> [backend] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c \
"DELETE FROM payments WHERE source = 'UPLOAD';"
DELETE 6
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 5.9s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.3s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 25.52kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> [backend 6/8] COPY prisma ./prisma 0.2s
=> [backend 7/8] RUN npx prisma generate 2.4s
=> [backend 8/8] COPY src ./src 0.3s
=> [backend] exporting to image 0.3s
=> => exporting layers 0.2s
=> => writing image sha256:fc36c7301ada2a9c45ef05ec92b20570dd69046ec325235b2226ed82b2909337 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.0s
=> => transferring context: 36.04kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:b4d7b6898e5207dedb53a8d0ac96e20899a5d038347eee734d91cca6066d9426 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub \
-c "DELETE FROM transaction_imports WHERE source = 'UPLOAD';"
DELETE 16
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 27.87kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:76cf6b3f9d66734e70cc178450ff953e2dfdca2d8340ec597af38365b4ecfb10 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.7s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh --dry-run
ERROR: export file not found: --dry-run
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh
Import target : http://localhost:3001/api/payments/ingest
Records found : 215
Mode : LIVE
[1/215] OK DSK Bank. Na 18/02/2026 v 20:38 sa plateni 4.19 EUR s karta 400915***4
[2/215] OK DSK Bank. Na 20/02/2026 v 13:08 sa plateni 13.75 EUR s karta 400915***
[3/215] OK DSK Bank. Na 20/02/2026 v 18:17 sa plateni 16.58 EUR s karta 400915***
[4/215] OK DSK Bank. Na 20/02/2026 v 18:28 sa plateni 12.51 EUR s karta 400915***
[5/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa iztegleni 400.00 EUR s karta 483890
[6/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa plateni 0.50 EUR/0.50 EUR s karta 4
[7/215] OK DSK Bank. Na 24/02/2026 v 08:42 sa plateni 116.85 EUR s karta 400915**
[8/215] OK DSK Bank. Na 25/02/2026 v 08:38 sa plateni 78.01 EUR s karta 400915***
[9/215] OK DSK Bank. Na 26/02/2026 v 08:39 sa plateni 59.65 EUR s karta 400915***
[10/215] OK DSK Bank. Na 26/02/2026 v 09:10 sa plateni 14.40 EUR s karta 400915***
[11/215] OK DSK Bank. Na 26/02/2026 v 17:06 sa plateni 6.63 EUR s karta 400915***4
[12/215] OK ...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker compose logs backend --tail=60
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
backend-1 | [IP_ADDRESS] - - [09/May/2026:06:59:49 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] │
backend-1 | │ npm i @prisma/client@latest │
backend-1 | └─────────────────────────────────────────────────────────┘
backend-1 | Finance Hub API running on port 3001
backend-1 | [IP_ADDRESS] - - [09/May/2026:08:15:05 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] cd /volume2/docker/finance/finance-hub
sudo docker compose up -d --build backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 1.0s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 13.11kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:13a2f7dcf0adc691967e5364f8757ef382320b21006b1ac7d24adc1799c685a3 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.3s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.5s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.13kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:02d3fe405f031f93190cd6a129dd2b46cd9f7fa8024d10b9b28cde38ab699494 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 15.38kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7d1a56407bd7715bdcba452a02c8677926f7117c843d2e44ddd9f6317accb228 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.55kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build frontend && sudo docker compose up -d frontend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (10/10) FINISHED docker:default
=> [frontend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.1s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 48.01kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:c45ced4de6924d6e7d9c567ae6242ce5fab8944c0cd2e8d627ef614e1ca71640 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 3/3
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c "SELECT id, date, recipient, amount, source, created_at FROM payments ORDER BY id DESC LIMIT 5;" 2>/dev/null || docker ps --format "{{.Names}}" | grep finance
[sudo] password for Adm1n:
Sorry, try again.
[sudo] password for Adm1n:
id | date | recipient | amount | source | created_at
----+---------------------+-----------------------------------------+--------+--------+-------------------------
8 | 2026-05-08 00:00:00 | POL BALICE Lagardere Travel R KR3 | 5.49 | UPLOAD | 2026-05-09 08:26:53.656
7 | 2026-05-08 00:00:00 | BGR SOFIA CBA EKO MARKET | 5.51 | UPLOAD | 2026-05-09 08:26:53.642
6 | 2026-05-08 00:00:00 | BGR SOFIYA LIDL BALGARIYA EOOD UL TODOR | 67.81 | UPLOAD | 2026-05-09 08:26:53.624
5 | 2026-05-08 00:00:00 | | 9.04 | UPLOAD | 2026-05-09 08:26:53.599
4 | 2026-05-08 00:00:00 | | 15.46 | UPLOAD | 2026-05-09 08:26:53.59
(5 rows)
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.2s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 2.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 937B 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> CACHED [backend 8/8] COPY src ./src 0.0s
=> [backend] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c \
"DELETE FROM payments WHERE source = 'UPLOAD';"
DELETE 6
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 5.9s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.3s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 25.52kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> [backend 6/8] COPY prisma ./prisma 0.2s
=> [backend 7/8] RUN npx prisma generate 2.4s
=> [backend 8/8] COPY src ./src 0.3s
=> [backend] exporting to image 0.3s
=> => exporting layers 0.2s
=> => writing image sha256:fc36c7301ada2a9c45ef05ec92b20570dd69046ec325235b2226ed82b2909337 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.0s
=> => transferring context: 36.04kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:b4d7b6898e5207dedb53a8d0ac96e20899a5d038347eee734d91cca6066d9426 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub \
-c "DELETE FROM transaction_imports WHERE source = 'UPLOAD';"
DELETE 16
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 27.87kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:76cf6b3f9d66734e70cc178450ff953e2dfdca2d8340ec597af38365b4ecfb10 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.7s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh --dry-run
ERROR: export file not found: --dry-run
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh
Import target : http://localhost:3001/api/payments/ingest
Records found : 215
Mode : LIVE
[1/215] OK DSK Bank. Na 18/02/2026 v 20:38 sa plateni 4.19 EUR s karta 400915***4
[2/215] OK DSK Bank. Na 20/02/2026 v 13:08 sa plateni 13.75 EUR s karta 400915***
[3/215] OK DSK Bank. Na 20/02/2026 v 18:17 sa plateni 16.58 EUR s karta 400915***
[4/215] OK DSK Bank. Na 20/02/2026 v 18:28 sa plateni 12.51 EUR s karta 400915***
[5/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa iztegleni 400.00 EUR s karta 483890
[6/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa plateni 0.50 EUR/0.50 EUR s karta 4
[7/215] OK DSK Bank. Na 24/02/2026 v 08:42 sa plateni 116.85 EUR s karta 400915**
[8/215] OK DSK Bank. Na 25/02/2026 v 08:38 sa plateni 78.01 EUR s karta 400915***
[9/215] OK DSK Bank. Na 26/02/2026 v 08:39 sa plateni 59.65 EUR s karta 400915***
[10/215] OK DSK Bank. Na 26/02/2026 v 09:10 sa plateni 14.40 EUR s karta 400915***
[11/215] OK DSK Bank. Na 26/02/2026 v 17:06 sa plateni 6.63 EUR s karta 400915***4
[12/215] OK ...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker compose logs backend --tail=60
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
backend-1 | [IP_ADDRESS] - - [09/May/2026:06:59:49 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] │
backend-1 | │ npm i @prisma/client@latest │
backend-1 | └─────────────────────────────────────────────────────────┘
backend-1 | Finance Hub API running on port 3001
backend-1 | [IP_ADDRESS] - - [09/May/2026:08:15:05 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] cd /volume2/docker/finance/finance-hub
sudo docker compose up -d --build backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 1.0s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 13.11kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:13a2f7dcf0adc691967e5364f8757ef382320b21006b1ac7d24adc1799c685a3 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.3s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.5s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.13kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:02d3fe405f031f93190cd6a129dd2b46cd9f7fa8024d10b9b28cde38ab699494 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 15.38kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7d1a56407bd7715bdcba452a02c8677926f7117c843d2e44ddd9f6317accb228 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.55kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build frontend && sudo docker compose up -d frontend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (10/10) FINISHED docker:default
=> [frontend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.1s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 48.01kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:c45ced4de6924d6e7d9c567ae6242ce5fab8944c0cd2e8d627ef614e1ca71640 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 3/3
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c "SELECT id, date, recipient, amount, source, created_at FROM payments ORDER BY id DESC LIMIT 5;" 2>/dev/null || docker ps --format "{{.Names}}" | grep finance
[sudo] password for Adm1n:
Sorry, try again.
[sudo] password for Adm1n:
id | date | recipient | amount | source | created_at
----+---------------------+-----------------------------------------+--------+--------+-------------------------
8 | 2026-05-08 00:00:00 | POL BALICE Lagardere Travel R KR3 | 5.49 | UPLOAD | 2026-05-09 08:26:53.656
7 | 2026-05-08 00:00:00 | BGR SOFIA CBA EKO MARKET | 5.51 | UPLOAD | 2026-05-09 08:26:53.642
6 | 2026-05-08 00:00:00 | BGR SOFIYA LIDL BALGARIYA EOOD UL TODOR | 67.81 | UPLOAD | 2026-05-09 08:26:53.624
5 | 2026-05-08 00:00:00 | | 9.04 | UPLOAD | 2026-05-09 08:26:53.599
4 | 2026-05-08 00:00:00 | | 15.46 | UPLOAD | 2026-05-09 08:26:53.59
(5 rows)
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.2s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 2.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 937B 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> CACHED [backend 8/8] COPY src ./src 0.0s
=> [backend] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c \
"DELETE FROM payments WHERE source = 'UPLOAD';"
DELETE 6
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 5.9s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.3s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 25.52kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> [backend 6/8] COPY prisma ./prisma 0.2s
=> [backend 7/8] RUN npx prisma generate 2.4s
=> [backend 8/8] COPY src ./src 0.3s
=> [backend] exporting to image 0.3s
=> => exporting layers 0.2s
=> => writing image sha256:fc36c7301ada2a9c45ef05ec92b20570dd69046ec325235b2226ed82b2909337 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.0s
=> => transferring context: 36.04kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:b4d7b6898e5207dedb53a8d0ac96e20899a5d038347eee734d91cca6066d9426 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub \
-c "DELETE FROM transaction_imports WHERE source = 'UPLOAD';"
DELETE 16
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 27.87kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:76cf6b3f9d66734e70cc178450ff953e2dfdca2d8340ec597af38365b4ecfb10 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.7s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh --dry-run
ERROR: export file not found: --dry-run
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh
Import target : http://localhost:3001/api/payments/ingest
Records found : 215
Mode : LIVE
[1/215] OK DSK Bank. Na 18/02/2026 v 20:38 sa plateni 4.19 EUR s karta 400915***4
[2/215] OK DSK Bank. Na 20/02/2026 v 13:08 sa plateni 13.75 EUR s karta 400915***
[3/215] OK DSK Bank. Na 20/02/2026 v 18:17 sa plateni 16.58 EUR s karta 400915***
[4/215] OK DSK Bank. Na 20/02/2026 v 18:28 sa plateni 12.51 EUR s karta 400915***
[5/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa iztegleni 400.00 EUR s karta 483890
[6/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa plateni 0.50 EUR/0.50 EUR s karta 4
[7/215] OK DSK Bank. Na 24/02/2026 v 08:42 sa plateni 116.85 EUR s karta 400915**
[8/215] OK DSK Bank. Na 25/02/2026 v 08:38 sa plateni 78.01 EUR s karta 400915***
[9/215] OK DSK Bank. Na 26/02/2026 v 08:39 sa plateni 59.65 EUR s karta 400915***
[10/215] OK DSK Bank. Na 26/02/2026 v 09:10 sa plateni 14.40 EUR s karta 400915***
[11/215] OK DSK Bank. Na 26/02/2026 v 17:06 sa plateni 6.63 EUR s karta 400915***4
[12/215] OK ...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker compose logs backend --tail=60
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
backend-1 | [IP_ADDRESS] - - [09/May/2026:06:59:49 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] │
backend-1 | │ npm i @prisma/client@latest │
backend-1 | └─────────────────────────────────────────────────────────┘
backend-1 | Finance Hub API running on port 3001
backend-1 | [IP_ADDRESS] - - [09/May/2026:08:15:05 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] cd /volume2/docker/finance/finance-hub
sudo docker compose up -d --build backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 1.0s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 13.11kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:13a2f7dcf0adc691967e5364f8757ef382320b21006b1ac7d24adc1799c685a3 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.3s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.5s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.13kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:02d3fe405f031f93190cd6a129dd2b46cd9f7fa8024d10b9b28cde38ab699494 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 15.38kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7d1a56407bd7715bdcba452a02c8677926f7117c843d2e44ddd9f6317accb228 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.55kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build frontend && sudo docker compose up -d frontend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (10/10) FINISHED docker:default
=> [frontend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.1s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 48.01kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:c45ced4de6924d6e7d9c567ae6242ce5fab8944c0cd2e8d627ef614e1ca71640 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 3/3
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c "SELECT id, date, recipient, amount, source, created_at FROM payments ORDER BY id DESC LIMIT 5;" 2>/dev/null || docker ps --format "{{.Names}}" | grep finance
[sudo] password for Adm1n:
Sorry, try again.
[sudo] password for Adm1n:
id | date | recipient | amount | source | created_at
----+---------------------+-----------------------------------------+--------+--------+-------------------------
8 | 2026-05-08 00:00:00 | POL BALICE Lagardere Travel R KR3 | 5.49 | UPLOAD | 2026-05-09 08:26:53.656
7 | 2026-05-08 00:00:00 | BGR SOFIA CBA EKO MARKET | 5.51 | UPLOAD | 2026-05-09 08:26:53.642
6 | 2026-05-08 00:00:00 | BGR SOFIYA LIDL BALGARIYA EOOD UL TODOR | 67.81 | UPLOAD | 2026-05-09 08:26:53.624
5 | 2026-05-08 00:00:00 | | 9.04 | UPLOAD | 2026-05-09 08:26:53.599
4 | 2026-05-08 00:00:00 | | 15.46 | UPLOAD | 2026-05-09 08:26:53.59
(5 rows)
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.2s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 2.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 937B 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> CACHED [backend 8/8] COPY src ./src 0.0s
=> [backend] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c \
"DELETE FROM payments WHERE source = 'UPLOAD';"
DELETE 6
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 5.9s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.3s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 25.52kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> [backend 6/8] COPY prisma ./prisma 0.2s
=> [backend 7/8] RUN npx prisma generate 2.4s
=> [backend 8/8] COPY src ./src 0.3s
=> [backend] exporting to image 0.3s
=> => exporting layers 0.2s
=> => writing image sha256:fc36c7301ada2a9c45ef05ec92b20570dd69046ec325235b2226ed82b2909337 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.0s
=> => transferring context: 36.04kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:b4d7b6898e5207dedb53a8d0ac96e20899a5d038347eee734d91cca6066d9426 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub \
-c "DELETE FROM transaction_imports WHERE source = 'UPLOAD';"
DELETE 16
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 27.87kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:76cf6b3f9d66734e70cc178450ff953e2dfdca2d8340ec597af38365b4ecfb10 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.7s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh --dry-run
ERROR: export file not found: --dry-run
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh
Import target : http://localhost:3001/api/payments/ingest
Records found : 215
Mode : LIVE
[1/215] OK DSK Bank. Na 18/02/2026 v 20:38 sa plateni 4.19 EUR s karta 400915***4
[2/215] OK DSK Bank. Na 20/02/2026 v 13:08 sa plateni 13.75 EUR s karta 400915***
[3/215] OK DSK Bank. Na 20/02/2026 v 18:17 sa plateni 16.58 EUR s karta 400915***
[4/215] OK DSK Bank. Na 20/02/2026 v 18:28 sa plateni 12.51 EUR s karta 400915***
[5/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa iztegleni 400.00 EUR s karta 483890
[6/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa plateni 0.50 EUR/0.50 EUR s karta 4
[7/215] OK DSK Bank. Na 24/02/2026 v 08:42 sa plateni 116.85 EUR s karta 400915**
[8/215] OK DSK Bank. Na 25/02/2026 v 08:38 sa plateni 78.01 EUR s karta 400915***
[9/215] OK DSK Bank. Na 26/02/2026 v 08:39 sa plateni 59.65 EUR s karta 400915***
[10/215] OK DSK Bank. Na 26/02/2026 v 09:10 sa plateni 14.40 EUR s karta 400915***
[11/215] OK DSK Bank. Na 26/02/2026 v 17:06 sa plateni 6.63 EUR s karta 400915***4
[12/215] OK ...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker compose logs backend --tail=60
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
backend-1 | [IP_ADDRESS] - - [09/May/2026:06:59:49 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] │
backend-1 | │ npm i @prisma/client@latest │
backend-1 | └─────────────────────────────────────────────────────────┘
backend-1 | Finance Hub API running on port 3001
backend-1 | [IP_ADDRESS] - - [09/May/2026:08:15:05 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] cd /volume2/docker/finance/finance-hub
sudo docker compose up -d --build backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 1.0s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 13.11kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:13a2f7dcf0adc691967e5364f8757ef382320b21006b1ac7d24adc1799c685a3 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.3s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.5s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.13kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:02d3fe405f031f93190cd6a129dd2b46cd9f7fa8024d10b9b28cde38ab699494 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 15.38kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7d1a56407bd7715bdcba452a02c8677926f7117c843d2e44ddd9f6317accb228 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.55kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build frontend && sudo docker compose up -d frontend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (10/10) FINISHED docker:default
=> [frontend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.1s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 48.01kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:c45ced4de6924d6e7d9c567ae6242ce5fab8944c0cd2e8d627ef614e1ca71640 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 3/3
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c "SELECT id, date, recipient, amount, source, created_at FROM payments ORDER BY id DESC LIMIT 5;" 2>/dev/null || docker ps --format "{{.Names}}" | grep finance
[sudo] password for Adm1n:
Sorry, try again.
[sudo] password for Adm1n:
id | date | recipient | amount | source | created_at
----+---------------------+-----------------------------------------+--------+--------+-------------------------
8 | 2026-05-08 00:00:00 | POL BALICE Lagardere Travel R KR3 | 5.49 | UPLOAD | 2026-05-09 08:26:53.656
7 | 2026-05-08 00:00:00 | BGR SOFIA CBA EKO MARKET | 5.51 | UPLOAD | 2026-05-09 08:26:53.642
6 | 2026-05-08 00:00:00 | BGR SOFIYA LIDL BALGARIYA EOOD UL TODOR | 67.81 | UPLOAD | 2026-05-09 08:26:53.624
5 | 2026-05-08 00:00:00 | | 9.04 | UPLOAD | 2026-05-09 08:26:53.599
4 | 2026-05-08 00:00:00 | | 15.46 | UPLOAD | 2026-05-09 08:26:53.59
(5 rows)
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.2s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 2.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 937B 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> CACHED [backend 8/8] COPY src ./src 0.0s
=> [backend] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c \
"DELETE FROM payments WHERE source = 'UPLOAD';"
DELETE 6
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 5.9s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.3s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 25.52kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> [backend 6/8] COPY prisma ./prisma 0.2s
=> [backend 7/8] RUN npx prisma generate 2.4s
=> [backend 8/8] COPY src ./src 0.3s
=> [backend] exporting to image 0.3s
=> => exporting layers 0.2s
=> => writing image sha256:fc36c7301ada2a9c45ef05ec92b20570dd69046ec325235b2226ed82b2909337 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.0s
=> => transferring context: 36.04kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:b4d7b6898e5207dedb53a8d0ac96e20899a5d038347eee734d91cca6066d9426 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub \
-c "DELETE FROM transaction_imports WHERE source = 'UPLOAD';"
DELETE 16
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 27.87kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:76cf6b3f9d66734e70cc178450ff953e2dfdca2d8340ec597af38365b4ecfb10 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.7s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh --dry-run
ERROR: export file not found: --dry-run
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh
Import target : http://localhost:3001/api/payments/ingest
Records found : 215
Mode : LIVE
[1/215] OK DSK Bank. Na 18/02/2026 v 20:38 sa plateni 4.19 EUR s karta 400915***4
[2/215] OK DSK Bank. Na 20/02/2026 v 13:08 sa plateni 13.75 EUR s karta 400915***
[3/215] OK DSK Bank. Na 20/02/2026 v 18:17 sa plateni 16.58 EUR s karta 400915***
[4/215] OK DSK Bank. Na 20/02/2026 v 18:28 sa plateni 12.51 EUR s karta 400915***
[5/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa iztegleni 400.00 EUR s karta 483890
[6/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa plateni 0.50 EUR/0.50 EUR s karta 4
[7/215] OK DSK Bank. Na 24/02/2026 v 08:42 sa plateni 116.85 EUR s karta 400915**
[8/215] OK DSK Bank. Na 25/02/2026 v 08:38 sa plateni 78.01 EUR s karta 400915***
[9/215] OK DSK Bank. Na 26/02/2026 v 08:39 sa plateni 59.65 EUR s karta 400915***
[10/215] OK DSK Bank. Na 26/02/2026 v 09:10 sa plateni 14.40 EUR s karta 400915***
[11/215] OK DSK Bank. Na 26/02/2026 v 17:06 sa plateni 6.63 EUR s karta 400915***4
[12/215] OK ...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker compose logs backend --tail=60
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
backend-1 | [IP_ADDRESS] - - [09/May/2026:06:59:49 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] │
backend-1 | │ npm i @prisma/client@latest │
backend-1 | └─────────────────────────────────────────────────────────┘
backend-1 | Finance Hub API running on port 3001
backend-1 | [IP_ADDRESS] - - [09/May/2026:08:15:05 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] cd /volume2/docker/finance/finance-hub
sudo docker compose up -d --build backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 1.0s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 13.11kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:13a2f7dcf0adc691967e5364f8757ef382320b21006b1ac7d24adc1799c685a3 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.3s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.5s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.13kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:02d3fe405f031f93190cd6a129dd2b46cd9f7fa8024d10b9b28cde38ab699494 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 15.38kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7d1a56407bd7715bdcba452a02c8677926f7117c843d2e44ddd9f6317accb228 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.55kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build frontend && sudo docker compose up -d frontend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (10/10) FINISHED docker:default
=> [frontend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.1s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 48.01kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:c45ced4de6924d6e7d9c567ae6242ce5fab8944c0cd2e8d627ef614e1ca71640 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 3/3
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c "SELECT id, date, recipient, amount, source, created_at FROM payments ORDER BY id DESC LIMIT 5;" 2>/dev/null || docker ps --format "{{.Names}}" | grep finance
[sudo] password for Adm1n:
Sorry, try again.
[sudo] password for Adm1n:
id | date | recipient | amount | source | created_at
----+---------------------+-----------------------------------------+--------+--------+-------------------------
8 | 2026-05-08 00:00:00 | POL BALICE Lagardere Travel R KR3 | 5.49 | UPLOAD | 2026-05-09 08:26:53.656
7 | 2026-05-08 00:00:00 | BGR SOFIA CBA EKO MARKET | 5.51 | UPLOAD | 2026-05-09 08:26:53.642
6 | 2026-05-08 00:00:00 | BGR SOFIYA LIDL BALGARIYA EOOD UL TODOR | 67.81 | UPLOAD | 2026-05-09 08:26:53.624
5 | 2026-05-08 00:00:00 | | 9.04 | UPLOAD | 2026-05-09 08:26:53.599
4 | 2026-05-08 00:00:00 | | 15.46 | UPLOAD | 2026-05-09 08:26:53.59
(5 rows)
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.2s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 2.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 937B 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> CACHED [backend 8/8] COPY src ./src 0.0s
=> [backend] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c \
"DELETE FROM payments WHERE source = 'UPLOAD';"
DELETE 6
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 5.9s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.3s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 25.52kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> [backend 6/8] COPY prisma ./prisma 0.2s
=> [backend 7/8] RUN npx prisma generate 2.4s
=> [backend 8/8] COPY src ./src 0.3s
=> [backend] exporting to image 0.3s
=> => exporting layers 0.2s
=> => writing image sha256:fc36c7301ada2a9c45ef05ec92b20570dd69046ec325235b2226ed82b2909337 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.0s
=> => transferring context: 36.04kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:b4d7b6898e5207dedb53a8d0ac96e20899a5d038347eee734d91cca6066d9426 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub \
-c "DELETE FROM transaction_imports WHERE source = 'UPLOAD';"
DELETE 16
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 27.87kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:76cf6b3f9d66734e70cc178450ff953e2dfdca2d8340ec597af38365b4ecfb10 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.7s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh --dry-run
ERROR: export file not found: --dry-run
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh
Import target : http://localhost:3001/api/payments/ingest
Records found : 215
Mode : LIVE
[1/215] OK DSK Bank. Na 18/02/2026 v 20:38 sa plateni 4.19 EUR s karta 400915***4
[2/215] OK DSK Bank. Na 20/02/2026 v 13:08 sa plateni 13.75 EUR s karta 400915***
[3/215] OK DSK Bank. Na 20/02/2026 v 18:17 sa plateni 16.58 EUR s karta 400915***
[4/215] OK DSK Bank. Na 20/02/2026 v 18:28 sa plateni 12.51 EUR s karta 400915***
[5/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa iztegleni 400.00 EUR s karta 483890
[6/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa plateni 0.50 EUR/0.50 EUR s karta 4
[7/215] OK DSK Bank. Na 24/02/2026 v 08:42 sa plateni 116.85 EUR s karta 400915**
[8/215] OK DSK Bank. Na 25/02/2026 v 08:38 sa plateni 78.01 EUR s karta 400915***
[9/215] OK DSK Bank. Na 26/02/2026 v 08:39 sa plateni 59.65 EUR s karta 400915***
[10/215] OK DSK Bank. Na 26/02/2026 v 09:10 sa plateni 14.40 EUR s karta 400915***
[11/215] OK DSK Bank. Na 26/02/2026 v 17:06 sa plateni 6.63 EUR s karta 400915***4
[12/215] OK ...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker compose logs backend --tail=60
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
backend-1 | [IP_ADDRESS] - - [09/May/2026:06:59:49 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] │
backend-1 | │ npm i @prisma/client@latest │
backend-1 | └─────────────────────────────────────────────────────────┘
backend-1 | Finance Hub API running on port 3001
backend-1 | [IP_ADDRESS] - - [09/May/2026:08:15:05 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] cd /volume2/docker/finance/finance-hub
sudo docker compose up -d --build backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 1.0s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 13.11kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:13a2f7dcf0adc691967e5364f8757ef382320b21006b1ac7d24adc1799c685a3 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.3s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.5s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.13kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:02d3fe405f031f93190cd6a129dd2b46cd9f7fa8024d10b9b28cde38ab699494 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 15.38kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7d1a56407bd7715bdcba452a02c8677926f7117c843d2e44ddd9f6317accb228 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.55kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build frontend && sudo docker compose up -d frontend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (10/10) FINISHED docker:default
=> [frontend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.1s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 48.01kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:c45ced4de6924d6e7d9c567ae6242ce5fab8944c0cd2e8d627ef614e1ca71640 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 3/3
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c "SELECT id, date, recipient, amount, source, created_at FROM payments ORDER BY id DESC LIMIT 5;" 2>/dev/null || docker ps --format "{{.Names}}" | grep finance
[sudo] password for Adm1n:
Sorry, try again.
[sudo] password for Adm1n:
id | date | recipient | amount | source | created_at
----+---------------------+-----------------------------------------+--------+--------+-------------------------
8 | 2026-05-08 00:00:00 | POL BALICE Lagardere Travel R KR3 | 5.49 | UPLOAD | 2026-05-09 08:26:53.656
7 | 2026-05-08 00:00:00 | BGR SOFIA CBA EKO MARKET | 5.51 | UPLOAD | 2026-05-09 08:26:53.642
6 | 2026-05-08 00:00:00 | BGR SOFIYA LIDL BALGARIYA EOOD UL TODOR | 67.81 | UPLOAD | 2026-05-09 08:26:53.624
5 | 2026-05-08 00:00:00 | | 9.04 | UPLOAD | 2026-05-09 08:26:53.599
4 | 2026-05-08 00:00:00 | | 15.46 | UPLOAD | 2026-05-09 08:26:53.59
(5 rows)
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.2s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 2.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 937B 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> CACHED [backend 8/8] COPY src ./src 0.0s
=> [backend] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c \
"DELETE FROM payments WHERE source = 'UPLOAD';"
DELETE 6
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 5.9s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.3s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 25.52kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> [backend 6/8] COPY prisma ./prisma 0.2s
=> [backend 7/8] RUN npx prisma generate 2.4s
=> [backend 8/8] COPY src ./src 0.3s
=> [backend] exporting to image 0.3s
=> => exporting layers 0.2s
=> => writing image sha256:fc36c7301ada2a9c45ef05ec92b20570dd69046ec325235b2226ed82b2909337 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.0s
=> => transferring context: 36.04kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:b4d7b6898e5207dedb53a8d0ac96e20899a5d038347eee734d91cca6066d9426 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub \
-c "DELETE FROM transaction_imports WHERE source = 'UPLOAD';"
DELETE 16
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 27.87kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:76cf6b3f9d66734e70cc178450ff953e2dfdca2d8340ec597af38365b4ecfb10 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.7s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh --dry-run
ERROR: export file not found: --dry-run
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh
Import target : http://localhost:3001/api/payments/ingest
Records found : 215
Mode : LIVE
[1/215] OK DSK Bank. Na 18/02/2026 v 20:38 sa plateni 4.19 EUR s karta 400915***4
[2/215] OK DSK Bank. Na 20/02/2026 v 13:08 sa plateni 13.75 EUR s karta 400915***
[3/215] OK DSK Bank. Na 20/02/2026 v 18:17 sa plateni 16.58 EUR s karta 400915***
[4/215] OK DSK Bank. Na 20/02/2026 v 18:28 sa plateni 12.51 EUR s karta 400915***
[5/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa iztegleni 400.00 EUR s karta 483890
[6/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa plateni 0.50 EUR/0.50 EUR s karta 4
[7/215] OK DSK Bank. Na 24/02/2026 v 08:42 sa plateni 116.85 EUR s karta 400915**
[8/215] OK DSK Bank. Na 25/02/2026 v 08:38 sa plateni 78.01 EUR s karta 400915***
[9/215] OK DSK Bank. Na 26/02/2026 v 08:39 sa plateni 59.65 EUR s karta 400915***
[10/215] OK DSK Bank. Na 26/02/2026 v 09:10 sa plateni 14.40 EUR s karta 400915***
[11/215] OK DSK Bank. Na 26/02/2026 v 17:06 sa plateni 6.63 EUR s karta 400915***4
[12/215] OK ...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker compose logs backend --tail=60
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
backend-1 | [IP_ADDRESS] - - [09/May/2026:06:59:49 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] │
backend-1 | │ npm i @prisma/client@latest │
backend-1 | └─────────────────────────────────────────────────────────┘
backend-1 | Finance Hub API running on port 3001
backend-1 | [IP_ADDRESS] - - [09/May/2026:08:15:05 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] cd /volume2/docker/finance/finance-hub
sudo docker compose up -d --build backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 1.0s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 13.11kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:13a2f7dcf0adc691967e5364f8757ef382320b21006b1ac7d24adc1799c685a3 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.3s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.5s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.13kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:02d3fe405f031f93190cd6a129dd2b46cd9f7fa8024d10b9b28cde38ab699494 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 15.38kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7d1a56407bd7715bdcba452a02c8677926f7117c843d2e44ddd9f6317accb228 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.55kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build frontend && sudo docker compose up -d frontend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (10/10) FINISHED docker:default
=> [frontend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.1s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 48.01kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:c45ced4de6924d6e7d9c567ae6242ce5fab8944c0cd2e8d627ef614e1ca71640 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 3/3
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c "SELECT id, date, recipient, amount, source, created_at FROM payments ORDER BY id DESC LIMIT 5;" 2>/dev/null || docker ps --format "{{.Names}}" | grep finance
[sudo] password for Adm1n:
Sorry, try again.
[sudo] password for Adm1n:
id | date | recipient | amount | source | created_at
----+---------------------+-----------------------------------------+--------+--------+-------------------------
8 | 2026-05-08 00:00:00 | POL BALICE Lagardere Travel R KR3 | 5.49 | UPLOAD | 2026-05-09 08:26:53.656
7 | 2026-05-08 00:00:00 | BGR SOFIA CBA EKO MARKET | 5.51 | UPLOAD | 2026-05-09 08:26:53.642
6 | 2026-05-08 00:00:00 | BGR SOFIYA LIDL BALGARIYA EOOD UL TODOR | 67.81 | UPLOAD | 2026-05-09 08:26:53.624
5 | 2026-05-08 00:00:00 | | 9.04 | UPLOAD | 2026-05-09 08:26:53.599
4 | 2026-05-08 00:00:00 | | 15.46 | UPLOAD | 2026-05-09 08:26:53.59
(5 rows)
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.2s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 2.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 937B 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> CACHED [backend 8/8] COPY src ./src 0.0s
=> [backend] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c \
"DELETE FROM payments WHERE source = 'UPLOAD';"
DELETE 6
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 5.9s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.3s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 25.52kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> [backend 6/8] COPY prisma ./prisma 0.2s
=> [backend 7/8] RUN npx prisma generate 2.4s
=> [backend 8/8] COPY src ./src 0.3s
=> [backend] exporting to image 0.3s
=> => exporting layers 0.2s
=> => writing image sha256:fc36c7301ada2a9c45ef05ec92b20570dd69046ec325235b2226ed82b2909337 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.0s
=> => transferring context: 36.04kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:b4d7b6898e5207dedb53a8d0ac96e20899a5d038347eee734d91cca6066d9426 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub \
-c "DELETE FROM transaction_imports WHERE source = 'UPLOAD';"
DELETE 16
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 27.87kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:76cf6b3f9d66734e70cc178450ff953e2dfdca2d8340ec597af38365b4ecfb10 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.7s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh --dry-run
ERROR: export file not found: --dry-run
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh
Import target : http://localhost:3001/api/payments/ingest
Records found : 215
Mode : LIVE
[1/215] OK DSK Bank. Na 18/02/2026 v 20:38 sa plateni 4.19 EUR s karta 400915***4
[2/215] OK DSK Bank. Na 20/02/2026 v 13:08 sa plateni 13.75 EUR s karta 400915***
[3/215] OK DSK Bank. Na 20/02/2026 v 18:17 sa plateni 16.58 EUR s karta 400915***
[4/215] OK DSK Bank. Na 20/02/2026 v 18:28 sa plateni 12.51 EUR s karta 400915***
[5/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa iztegleni 400.00 EUR s karta 483890
[6/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa plateni 0.50 EUR/0.50 EUR s karta 4
[7/215] OK DSK Bank. Na 24/02/2026 v 08:42 sa plateni 116.85 EUR s karta 400915**
[8/215] OK DSK Bank. Na 25/02/2026 v 08:38 sa plateni 78.01 EUR s karta 400915***
[9/215] OK DSK Bank. Na 26/02/2026 v 08:39 sa plateni 59.65 EUR s karta 400915***
[10/215] OK DSK Bank. Na 26/02/2026 v 09:10 sa plateni 14.40 EUR s karta 400915***
[11/215] OK DSK Bank. Na 26/02/2026 v 17:06 sa plateni 6.63 EUR s karta 400915***4
[12/215] OK ...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker compose logs backend --tail=60
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
backend-1 | [IP_ADDRESS] - - [09/May/2026:06:59:49 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] │
backend-1 | │ npm i @prisma/client@latest │
backend-1 | └─────────────────────────────────────────────────────────┘
backend-1 | Finance Hub API running on port 3001
backend-1 | [IP_ADDRESS] - - [09/May/2026:08:15:05 +0000] "GET /api/payments/meta/filters HTTP/1.1" 304 - "[URL_WITH_CREDENTIALS] cd /volume2/docker/finance/finance-hub
sudo docker compose up -d --build backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 1.0s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 13.11kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:13a2f7dcf0adc691967e5364f8757ef382320b21006b1ac7d24adc1799c685a3 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.3s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.5s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.13kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:02d3fe405f031f93190cd6a129dd2b46cd9f7fa8024d10b9b28cde38ab699494 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 15.38kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7d1a56407bd7715bdcba452a02c8677926f7117c843d2e44ddd9f6317accb228 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 25.55kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.5s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build frontend && sudo docker compose up -d frontend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.9s (10/10) FINISHED docker:default
=> [frontend internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.1s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [frontend internal] load build context 0.1s
=> => transferring context: 48.01kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:c45ced4de6924d6e7d9c567ae6242ce5fab8944c0cd2e8d627ef614e1ca71640 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 3/3
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c "SELECT id, date, recipient, amount, source, created_at FROM payments ORDER BY id DESC LIMIT 5;" 2>/dev/null || docker ps --format "{{.Names}}" | grep finance
[sudo] password for Adm1n:
Sorry, try again.
[sudo] password for Adm1n:
id | date | recipient | amount | source | created_at
----+---------------------+-----------------------------------------+--------+--------+-------------------------
8 | 2026-05-08 00:00:00 | POL BALICE Lagardere Travel R KR3 | 5.49 | UPLOAD | 2026-05-09 08:26:53.656
7 | 2026-05-08 00:00:00 | BGR SOFIA CBA EKO MARKET | 5.51 | UPLOAD | 2026-05-09 08:26:53.642
6 | 2026-05-08 00:00:00 | BGR SOFIYA LIDL BALGARIYA EOOD UL TODOR | 67.81 | UPLOAD | 2026-05-09 08:26:53.624
5 | 2026-05-08 00:00:00 | | 9.04 | UPLOAD | 2026-05-09 08:26:53.599
4 | 2026-05-08 00:00:00 | | 15.46 | UPLOAD | 2026-05-09 08:26:53.59
(5 rows)
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 3.2s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 2.8s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.1s
=> => transferring context: 937B 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> CACHED [backend 8/8] COPY src ./src 0.0s
=> [backend] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:7cb4d54b1215fd462e1b3ae3030647642b86ceb03408c8019788b99700ab62e7 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Running 0.0s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub -c \
"DELETE FROM payments WHERE source = 'UPLOAD';"
DELETE 6
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend frontend && sudo docker compose up -d
[sudo] password for Adm1n:
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 5.9s (21/21) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [frontend internal] load metadata for docker.io/library/node:20-alpine 1.3s
=> [backend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend 1/5] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 25.52kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> [backend 6/8] COPY prisma ./prisma 0.2s
=> [backend 7/8] RUN npx prisma generate 2.4s
=> [backend 8/8] COPY src ./src 0.3s
=> [backend] exporting to image 0.3s
=> => exporting layers 0.2s
=> => writing image sha256:fc36c7301ada2a9c45ef05ec92b20570dd69046ec325235b2226ed82b2909337 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
=> [frontend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 204B 0.0s
=> [frontend internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [frontend internal] load build context 0.0s
=> => transferring context: 36.04kB 0.0s
=> CACHED [frontend 2/5] WORKDIR /app 0.0s
=> CACHED [frontend 3/5] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [frontend 4/5] RUN npm install 0.0s
=> [frontend 5/5] COPY . . 0.2s
=> [frontend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:b4d7b6898e5207dedb53a8d0ac96e20899a5d038347eee734d91cca6066d9426 0.0s
=> => naming to docker.io/library/finance-hub-frontend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 4/4
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.6s
✔ Container finance-hub-adminer-1 Running 0.0s
✔ Container finance-hub-frontend-1 Started 0.6s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sudo docker exec finance-hub-db-1 psql -U finance -d finance_hub \
-c "DELETE FROM transaction_imports WHERE source = 'UPLOAD';"
DELETE 16
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ cd /volume2/docker/finance/finance-hub
sudo docker compose build backend && sudo docker compose up -d backend
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Building 1.6s (13/13) FINISHED docker:default
=> [backend internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [backend internal] load metadata for docker.io/library/node:20-alpine 0.8s
=> [backend internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [backend 1/8] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.0s
=> [backend internal] load build context 0.0s
=> => transferring context: 27.87kB 0.0s
=> CACHED [backend 2/8] RUN apk add --no-cache openssl 0.0s
=> CACHED [backend 3/8] WORKDIR /app 0.0s
=> CACHED [backend 4/8] COPY package.json package-lock.json* ./ 0.0s
=> CACHED [backend 5/8] RUN npm install 0.0s
=> CACHED [backend 6/8] COPY prisma ./prisma 0.0s
=> CACHED [backend 7/8] RUN npx prisma generate 0.0s
=> [backend 8/8] COPY src ./src 0.2s
=> [backend] exporting to image 0.2s
=> => exporting layers 0.1s
=> => writing image sha256:76cf6b3f9d66734e70cc178450ff953e2dfdca2d8340ec597af38365b4ecfb10 0.0s
=> => naming to docker.io/library/finance-hub-backend 0.0s
WARN[0000] /volume2/docker/finance/finance-hub/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Container finance-hub-db-1 Healthy 0.0s
✔ Container finance-hub-backend-1 Started 10.7s
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh --dry-run
ERROR: export file not found: --dry-run
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ bash /volume2/docker/finance/finance-hub/scripts/reimport_sms.sh
Import target : http://localhost:3001/api/payments/ingest
Records found : 215
Mode : LIVE
[1/215] OK DSK Bank. Na 18/02/2026 v 20:38 sa plateni 4.19 EUR s karta 400915***4
[2/215] OK DSK Bank. Na 20/02/2026 v 13:08 sa plateni 13.75 EUR s karta 400915***
[3/215] OK DSK Bank. Na 20/02/2026 v 18:17 sa plateni 16.58 EUR s karta 400915***
[4/215] OK DSK Bank. Na 20/02/2026 v 18:28 sa plateni 12.51 EUR s karta 400915***
[5/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa iztegleni 400.00 EUR s karta 483890
[6/215] OK DSK Bank. Na 22/02/2026 v 11:05 sa plateni 0.50 EUR/0.50 EUR s karta 4
[7/215] OK DSK Bank. Na 24/02/2026 v 08:42 sa plateni 116.85 EUR s karta 400915**
[8/215] OK DSK Bank. Na 25/02/2026 v 08:38 sa plateni 78.01 EUR s karta 400915***
[9/215] OK DSK Bank. Na 26/02/2026 v 08:39 sa plateni 59.65 EUR s karta 400915***
[10/215] OK DSK Bank. Na 26/02/2026 v 09:10 sa plateni 14.40 EUR s karta 400915***
[11/215] OK DSK Bank. Na 26/02/2026 v 17:06 sa plateni 6.63 EUR s karta 400915***4
[12/215] OK ...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- HYPOTHESIS 1: NAS tables lack PRIMARY KEY because `CREATE TABLE AS SELECT WHERE 0`
-- doesn't preserve constraints — so INSERT OR IGNORE is silently inserting dups.
.schema frames
.schema ocr_text
.schema elements
.schema ui_events
-- HYPOTHESIS 2: Confirm by checking for duplicate IDs in 2026-05-08
SELECT 'frames' AS t,
COUNT(*) AS rows,
COUNT(DISTINCT id) AS uniq_ids,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames WHERE date(timestamp) = '2026-05-08'
UNION ALL SELECT 'ocr_text',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ocr_text WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'elements',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM elements WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'ui_events',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ui_events WHERE date(timestamp) = '2026-05-08';
-- Are any triggers defined on these tables?
SELECT name, tbl_name, sql FROM sqlite_master WHERE type='trigger';
SQL
CREATE TABLE frames(
id INT,
video_chunk_id INT,
offset_index INT,
timestamp NUM,
name TEXT,
app_name TEXT,
window_name TEXT,
focused NUM,
browser_url TEXT,
device_name TEXT,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
snapshot_path TEXT,
accessibility_text TEXT,
accessibility_tree_json TEXT,
content_hash INT,
simhash INT,
capture_trigger TEXT,
text_source TEXT,
cloud_blob_id TEXT,
full_text TEXT,
elements_ref_frame_id INT
, document_path TEXT DEFAULT NULL, "accessibility_text_redacted" TEXT, "accessibility_redacted_at" INTEGER, "accessibility_redaction_version" INTEGER, "image_redacted_at" INTEGER, "image_redaction_version" INTEGER, "image_redaction_regions" INTEGER);
CREATE INDEX idx_frames_timestamp ON frames(timestamp);
CREATE INDEX idx_frames_app_name ON frames(app_name);
CREATE INDEX idx_frames_window_name ON frames(window_name);
CREATE INDEX idx_frames_video_chunk_id ON frames(video_chunk_id);
CREATE INDEX idx_frames_document_path
ON frames(document_path) WHERE document_path IS NOT NULL;
CREATE TABLE ocr_text(
frame_id INT,
text TEXT,
text_json TEXT,
app_name TEXT,
ocr_engine TEXT,
window_name TEXT,
focused NUM,
text_length INT,
sync_id TEXT,
synced_at NUM
, "text_redacted" TEXT, "redacted_at" INTEGER, "redaction_version" INTEGER);
CREATE INDEX idx_ocr_text_frame_id ON ocr_text(frame_id);
CREATE TABLE elements(
id INT,
frame_id INT,
source TEXT,
role TEXT,
text TEXT,
parent_id INT,
depth INT,
left_bound REAL,
top_bound REAL,
width_bound REAL,
height_bound REAL,
confidence REAL,
sort_order INT,
properties TEXT
, on_screen INTEGER DEFAULT NULL);
CREATE INDEX idx_elements_frame_id ON elements(frame_id);
CREATE INDEX idx_elements_frame_src_role ON elements(frame_id, source, role) WHERE text IS NOT NULL;
CREATE INDEX idx_elements_onscreen_frame
ON elements(frame_id) WHERE on_screen = 1 AND text IS NOT NULL;
CREATE TABLE ui_events(
id INT,
timestamp NUM,
session_id TEXT,
relative_ms INT,
event_type TEXT,
x INT,
y INT,
delta_x INT,
delta_y INT,
button INT,
click_count INT,
key_code INT,
modifiers INT,
text_content TEXT,
text_length INT,
app_name TEXT,
app_pid INT,
window_title TEXT,
browser_url TEXT,
element_role TEXT,
element_name TEXT,
element_value TEXT,
element_description TEXT,
element_automation_id TEXT,
element_bounds TEXT,
frame_id INT,
sync_id TEXT,
machine_id TEXT,
synced_at NUM
, "text_redacted" TEXT, "redacted_at" INTEGER, "redaction_version" INTEGER);
CREATE INDEX idx_ui_events_timestamp ON ui_events(timestamp);
CREATE INDEX idx_ui_events_app_name ON ui_events(app_name);
CREATE INDEX idx_ui_events_frame_id ON ui_events(frame_id);
Parse error near line 12: no such column: id
ALL SELECT 'ocr_text', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTIN
error here ---^
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- HYPOTHESIS 1: NAS tables lack PRIMARY KEY because `CREATE TABLE AS SELECT WHERE 0`
-- doesn't preserve constraints — so INSERT OR IGNORE is silently inserting dups.
.schema frames
.schema ocr_text
.schema elements
.schema ui_events
-- HYPOTHESIS 2: Confirm by checking for duplicate IDs in 2026-05-08
SELECT 'frames' AS t,
COUNT(*) AS rows,
COUNT(DISTINCT id) AS uniq_ids,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames WHERE date(timestamp) = '2026-05-08'
UNION ALL SELECT 'ocr_text',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ocr_text WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'elements',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM elements WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'ui_events',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ui_events WHERE date(timestamp) = '2026-05-08';
-- Are any triggers defined on these tables?
SELECT name, tbl_name, sql FROM sqlite_master WHERE type='trigger';
SQL
CREATE TABLE frames(
id INT,
video_chunk_id INT,
offset_index INT,
timestamp NUM,
name TEXT,
app_name TEXT,
window_name TEXT,
focused NUM,
browser_url TEXT,
device_name TEXT,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
snapshot_path TEXT,
accessibility_text TEXT,
accessibility_tree_json TEXT,
content_hash INT,
simhash INT,
capture_trigger TEXT,
text_source TEXT,
cloud_blob_id TEXT,
full_text TEXT,
elements_ref_frame_id INT
, document_path TEXT DEFAULT NULL, "accessibility_text_redacted" TEXT, "accessibility_redacted_at" INTEGER, "accessibility_redaction_version" INTEGER, "image_redacted_at" INTEGER, "image_redaction_version" INTEGER, "image_redaction_regions" INTEGER);
CREATE INDEX idx_frames_timestamp ON frames(timestamp);
CREATE INDEX idx_frames_app_name ON frames(app_name);
CREATE INDEX idx_frames_window_name ON frames(window_name);
CREATE INDEX idx_frames_video_chunk_id ON frames(video_chunk_id);
CREATE INDEX idx_frames_document_path
ON frames(document_path) WHERE document_path IS NOT NULL;
CREATE TABLE ocr_text(
frame_id INT,
text TEXT,
text_json TEXT,
app_name TEXT,
ocr_engine TEXT,
window_name TEXT,
focused NUM,
text_length INT,
sync_id TEXT,
synced_at NUM
, "text_redacted" TEXT, "redacted_at" INTEGER, "redaction_version" INTEGER);
CREATE INDEX idx_ocr_text_frame_id ON ocr_text(frame_id);
CREATE TABLE elements(
id INT,
frame_id INT,
source TEXT,
role TEXT,
text TEXT,
parent_id INT,
depth INT,
left_bound REAL,
top_bound REAL,
width_bound REAL,
height_bound REAL,
confidence REAL,
sort_order INT,
properties TEXT
, on_screen INTEGER DEFAULT NULL);
CREATE INDEX idx_elements_frame_id ON elements(frame_id);
CREATE INDEX idx_elements_frame_src_role ON elements(frame_id, source, role) WHERE text IS NOT NULL;
CREATE INDEX idx_elements_onscreen_frame
ON elements(frame_id) WHERE on_screen = 1 AND text IS NOT NULL;
CREATE TABLE ui_events(
id INT,
timestamp NUM,
session_id TEXT,
relative_ms INT,
event_type TEXT,
x INT,
y INT,
delta_x INT,
delta_y INT,
button INT,
click_count INT,
key_code INT,
modifiers INT,
text_content TEXT,
text_length INT,
app_name TEXT,
app_pid INT,
window_title TEXT,
browser_url TEXT,
element_role TEXT,
element_name TEXT,
element_value TEXT,
element_description TEXT,
element_automation_id TEXT,
element_bounds TEXT,
frame_id INT,
sync_id TEXT,
machine_id TEXT,
synced_at NUM
, "text_redacted" TEXT, "redacted_at" INTEGER, "redaction_version" INTEGER);
CREATE INDEX idx_ui_events_timestamp ON ui_events(timestamp);
CREATE INDEX idx_ui_events_app_name ON ui_events(app_name);
CREATE INDEX idx_ui_events_frame_id ON ui_events(frame_id);
Parse error near line 12: no such column: id
ALL SELECT 'ocr_text', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTIN
error here ---^
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- HYPOTHESIS 1: NAS tables lack PRIMARY KEY because `CREATE TABLE AS SELECT WHERE 0`
-- doesn't preserve constraints — so INSERT OR IGNORE is silently inserting dups.
.schema frames
.schema ocr_text
.schema elements
.schema ui_events
-- HYPOTHESIS 2: Confirm by checking for duplicate IDs in 2026-05-08
SELECT 'frames' AS t,
COUNT(*) AS rows,
COUNT(DISTINCT id) AS uniq_ids,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames WHERE date(timestamp) = '2026-05-08'
UNION ALL SELECT 'ocr_text',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ocr_text WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'elements',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM elements WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'ui_events',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ui_events WHERE date(timestamp) = '2026-05-08';
-- Are any triggers defined on these tables?
SELECT name, tbl_name, sql FROM sqlite_master WHERE type='trigger';
SQL
CREATE TABLE frames(
id INT,
video_chunk_id INT,
offset_index INT,
timestamp NUM,
name TEXT,
app_name TEXT,
window_name TEXT,
focused NUM,
browser_url TEXT,
device_name TEXT,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
snapshot_path TEXT,
accessibility_text TEXT,
accessibility_tree_json TEXT,
content_hash INT,
simhash INT,
capture_trigger TEXT,
text_source TEXT,
cloud_blob_id TEXT,
full_text TEXT,
elements_ref_frame_id INT
, document_path TEXT DEFAULT NULL, "accessibility_text_redacted" TEXT, "accessibility_redacted_at" INTEGER, "accessibility_redaction_version" INTEGER, "image_redacted_at" INTEGER, "image_redaction_version" INTEGER, "image_redaction_regions" INTEGER);
CREATE INDEX idx_frames_timestamp ON frames(timestamp);
CREATE INDEX idx_frames_app_name ON frames(app_name);
CREATE INDEX idx_frames_window_name ON frames(window_name);
CREATE INDEX idx_frames_video_chunk_id ON frames(video_chunk_id);
CREATE INDEX idx_frames_document_path
ON frames(document_path) WHERE document_path IS NOT NULL;
CREATE TABLE ocr_text(
frame_id INT,
text TEXT,
text_json TEXT,
app_name TEXT,
ocr_engine TEXT,
window_name TEXT,
focused NUM,
text_length INT,
sync_id TEXT,
synced_at NUM
, "text_redacted" TEXT, "redacted_at" INTEGER, "redaction_version" INTEGER);
CREATE INDEX idx_ocr_text_frame_id ON ocr_text(frame_id);
CREATE TABLE elements(
id INT,
frame_id INT,
source TEXT,
role TEXT,
text TEXT,
parent_id INT,
depth INT,
left_bound REAL,
top_bound REAL,
width_bound REAL,
height_bound REAL,
confidence REAL,
sort_order INT,
properties TEXT
, on_screen INTEGER DEFAULT NULL);
CREATE INDEX idx_elements_frame_id ON elements(frame_id);
CREATE INDEX idx_elements_frame_src_role ON elements(frame_id, source, role) WHERE text IS NOT NULL;
CREATE INDEX idx_elements_onscreen_frame
ON elements(frame_id) WHERE on_screen = 1 AND text IS NOT NULL;
CREATE TABLE ui_events(
id INT,
timestamp NUM,
session_id TEXT,
relative_ms INT,
event_type TEXT,
x INT,
y INT,
delta_x INT,
delta_y INT,
button INT,
click_count INT,
key_code INT,
modifiers INT,
text_content TEXT,
text_length INT,
app_name TEXT,
app_pid INT,
window_title TEXT,
browser_url TEXT,
element_role TEXT,
element_name TEXT,
element_value TEXT,
element_description TEXT,
element_automation_id TEXT,
element_bounds TEXT,
frame_id INT,
sync_id TEXT,
machine_id TEXT,
synced_at NUM
, "text_redacted" TEXT, "redacted_at" INTEGER, "redaction_version" INTEGER);
CREATE INDEX idx_ui_events_timestamp ON ui_events(timestamp);
CREATE INDEX idx_ui_events_app_name ON ui_events(app_name);
CREATE INDEX idx_ui_events_frame_id ON ui_events(frame_id);
Parse error near line 12: no such column: id
ALL SELECT 'ocr_text', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTIN
error here ---^
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- HYPOTHESIS 1: NAS tables lack PRIMARY KEY because `CREATE TABLE AS SELECT WHERE 0`
-- doesn't preserve constraints — so INSERT OR IGNORE is silently inserting dups.
.schema frames
.schema ocr_text
.schema elements
.schema ui_events
-- HYPOTHESIS 2: Confirm by checking for duplicate IDs in 2026-05-08
SELECT 'frames' AS t,
COUNT(*) AS rows,
COUNT(DISTINCT id) AS uniq_ids,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames WHERE date(timestamp) = '2026-05-08'
UNION ALL SELECT 'ocr_text',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ocr_text WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'elements',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM elements WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'ui_events',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ui_events WHERE date(timestamp) = '2026-05-08';
-- Are any triggers defined on these tables?
SELECT name, tbl_name, sql FROM sqlite_master WHERE type='trigger';
SQL
CREATE TABLE frames(
id INT,
video_chunk_id INT,
offset_index INT,
timestamp NUM,
name TEXT,
app_name TEXT,
window_name TEXT,
focused NUM,
browser_url TEXT,
device_name TEXT,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
snapshot_path TEXT,
accessibility_text TEXT,
accessibility_tree_json TEXT,
content_hash INT,
simhash INT,
capture_trigger TEXT,
text_source TEXT,
cloud_blob_id TEXT,
full_text TEXT,
elements_ref_frame_id INT
, document_path TEXT DEFAULT NULL, "accessibility_text_redacted" TEXT, "accessibility_redacted_at" INTEGER, "accessibility_redaction_version" INTEGER, "image_redacted_at" INTEGER, "image_redaction_version" INTEGER, "image_redaction_regions" INTEGER);
CREATE INDEX idx_frames_timestamp ON frames(timestamp);
CREATE INDEX idx_frames_app_name ON frames(app_name);
CREATE INDEX idx_frames_window_name ON frames(window_name);
CREATE INDEX idx_frames_video_chunk_id ON frames(video_chunk_id);
CREATE INDEX idx_frames_document_path
ON frames(document_path) WHERE document_path IS NOT NULL;
CREATE TABLE ocr_text(
frame_id INT,
text TEXT,
text_json TEXT,
app_name TEXT,
ocr_engine TEXT,
window_name TEXT,
focused NUM,
text_length INT,
sync_id TEXT,
synced_at NUM
, "text_redacted" TEXT, "redacted_at" INTEGER, "redaction_version" INTEGER);
CREATE INDEX idx_ocr_text_frame_id ON ocr_text(frame_id);
CREATE TABLE elements(
id INT,
frame_id INT,
source TEXT,
role TEXT,
text TEXT,
parent_id INT,
depth INT,
left_bound REAL,
top_bound REAL,
width_bound REAL,
height_bound REAL,
confidence REAL,
sort_order INT,
properties TEXT
, on_screen INTEGER DEFAULT NULL);
CREATE INDEX idx_elements_frame_id ON elements(frame_id);
CREATE INDEX idx_elements_frame_src_role ON elements(frame_id, source, role) WHERE text IS NOT NULL;
CREATE INDEX idx_elements_onscreen_frame
ON elements(frame_id) WHERE on_screen = 1 AND text IS NOT NULL;
CREATE TABLE ui_events(
id INT,
timestamp NUM,
session_id TEXT,
relative_ms INT,
event_type TEXT,
x INT,
y INT,
delta_x INT,
delta_y INT,
button INT,
click_count INT,
key_code INT,
modifiers INT,
text_content TEXT,
text_length INT,
app_name TEXT,
app_pid INT,
window_title TEXT,
browser_url TEXT,
element_role TEXT,
element_name TEXT,
element_value TEXT,
element_description TEXT,
element_automation_id TEXT,
element_bounds TEXT,
frame_id INT,
sync_id TEXT,
machine_id TEXT,
synced_at NUM
, "text_redacted" TEXT, "redacted_at" INTEGER, "redaction_version" INTEGER);
CREATE INDEX idx_ui_events_timestamp ON ui_events(timestamp);
CREATE INDEX idx_ui_events_app_name ON ui_events(app_name);
CREATE INDEX idx_ui_events_frame_id ON ui_events(frame_id);
Parse error near line 12: no such column: id
ALL SELECT 'ocr_text', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTIN
error here ---^
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- HYPOTHESIS 1: NAS tables lack PRIMARY KEY because `CREATE TABLE AS SELECT WHERE 0`
-- doesn't preserve constraints — so INSERT OR IGNORE is silently inserting dups.
.schema frames
.schema ocr_text
.schema elements
.schema ui_events
-- HYPOTHESIS 2: Confirm by checking for duplicate IDs in 2026-05-08
SELECT 'frames' AS t,
COUNT(*) AS rows,
COUNT(DISTINCT id) AS uniq_ids,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames WHERE date(timestamp) = '2026-05-08'
UNION ALL SELECT 'ocr_text',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ocr_text WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'elements',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM elements WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'ui_events',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ui_events WHERE date(timestamp) = '2026-05-08';
-- Are any triggers defined on these tables?
SELECT name, tbl_name, sql FROM sqlite_master WHERE type='trigger';
SQL
CREATE TABLE frames(
id INT,
video_chunk_id INT,
offset_index INT,
timestamp NUM,
name TEXT,
app_name TEXT,
window_name TEXT,
focused NUM,
browser_url TEXT,
device_name TEXT,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
snapshot_path TEXT,
accessibility_text TEXT,
accessibility_tree_json TEXT,
content_hash INT,
simhash INT,
capture_trigger TEXT,
text_source TEXT,
cloud_blob_id TEXT,
full_text TEXT,
elements_ref_frame_id INT
, document_path TEXT DEFAULT NULL, "accessibility_text_redacted" TEXT, "accessibility_redacted_at" INTEGER, "accessibility_redaction_version" INTEGER, "image_redacted_at" INTEGER, "image_redaction_version" INTEGER, "image_redaction_regions" INTEGER);
CREATE INDEX idx_frames_timestamp ON frames(timestamp);
CREATE INDEX idx_frames_app_name ON frames(app_name);
CREATE INDEX idx_frames_window_name ON frames(window_name);
CREATE INDEX idx_frames_video_chunk_id ON frames(video_chunk_id);
CREATE INDEX idx_frames_document_path
ON frames(document_path) WHERE document_path IS NOT NULL;
CREATE TABLE ocr_text(
frame_id INT,
text TEXT,
text_json TEXT,
app_name TEXT,
ocr_engine TEXT,
window_name TEXT,
focused NUM,
text_length INT,
sync_id TEXT,
synced_at NUM
, "text_redacted" TEXT, "redacted_at" INTEGER, "redaction_version" INTEGER);
CREATE INDEX idx_ocr_text_frame_id ON ocr_text(frame_id);
CREATE TABLE elements(
id INT,
frame_id INT,
source TEXT,
role TEXT,
text TEXT,
parent_id INT,
depth INT,
left_bound REAL,
top_bound REAL,
width_bound REAL,
height_bound REAL,
confidence REAL,
sort_order INT,
properties TEXT
, on_screen INTEGER DEFAULT NULL);
CREATE INDEX idx_elements_frame_id ON elements(frame_id);
CREATE INDEX idx_elements_frame_src_role ON elements(frame_id, source, role) WHERE text IS NOT NULL;
CREATE INDEX idx_elements_onscreen_frame
ON elements(frame_id) WHERE on_screen = 1 AND text IS NOT NULL;
CREATE TABLE ui_events(
id INT,
timestamp NUM,
session_id TEXT,
relative_ms INT,
event_type TEXT,
x INT,
y INT,
delta_x INT,
delta_y INT,
button INT,
click_count INT,
key_code INT,
modifiers INT,
text_content TEXT,
text_length INT,
app_name TEXT,
app_pid INT,
window_title TEXT,
browser_url TEXT,
element_role TEXT,
element_name TEXT,
element_value TEXT,
element_description TEXT,
element_automation_id TEXT,
element_bounds TEXT,
frame_id INT,
sync_id TEXT,
machine_id TEXT,
synced_at NUM
, "text_redacted" TEXT, "redacted_at" INTEGER, "redaction_version" INTEGER);
CREATE INDEX idx_ui_events_timestamp ON ui_events(timestamp);
CREATE INDEX idx_ui_events_app_name ON ui_events(app_name);
CREATE INDEX idx_ui_events_frame_id ON ui_events(frame_id);
Parse error near line 12: no such column: id
ALL SELECT 'ocr_text', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTIN
error here ---^
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
SELECT 'frames' AS t, COUNT(*) AS rows, COUNT(DISTINCT id) AS uniq, COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames WHERE date(timestamp) = '2026-05-08'
UNION ALL SELECT 'elements', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM elements WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'ui_events', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ui_events WHERE date(timestamp) = '2026-05-08';
SQL
t rows uniq dups
--------- ------ ------ -----
frames 5059 5059 0
elements 779085 747320 31765
ui_events 6237 6237 0
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- HYPOTHESIS 1: NAS tables lack PRIMARY KEY because `CREATE TABLE AS SELECT WHERE 0`
-- doesn't preserve constraints — so INSERT OR IGNORE is silently inserting dups.
.schema frames
.schema ocr_text
.schema elements
.schema ui_events
-- HYPOTHESIS 2: Confirm by checking for duplicate IDs in 2026-05-08
SELECT 'frames' AS t,
COUNT(*) AS rows,
COUNT(DISTINCT id) AS uniq_ids,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames WHERE date(timestamp) = '2026-05-08'
UNION ALL SELECT 'ocr_text',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ocr_text WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'elements',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM elements WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'ui_events',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ui_events WHERE date(timestamp) = '2026-05-08';
-- Are any triggers defined on these tables?
SELECT name, tbl_name, sql FROM sqlite_master WHERE type='trigger';
SQL
CREATE TABLE frames(
id INT,
video_chunk_id INT,
offset_index INT,
timestamp NUM,
name TEXT,
app_name TEXT,
window_name TEXT,
focused NUM,
browser_url TEXT,
device_name TEXT,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
snapshot_path TEXT,
accessibility_text TEXT,
accessibility_tree_json TEXT,
content_hash INT,
simhash INT,
capture_trigger TEXT,
text_source TEXT,
cloud_blob_id TEXT,
full_text TEXT,
elements_ref_frame_id INT
, document_path TEXT DEFAULT NULL, "accessibility_text_redacted" TEXT, "accessibility_redacted_at" INTEGER, "accessibility_redaction_version" INTEGER, "image_redacted_at" INTEGER, "image_redaction_version" INTEGER, "image_redaction_regions" INTEGER);
CREATE INDEX idx_frames_timestamp ON frames(timestamp);
CREATE INDEX idx_frames_app_name ON frames(app_name);
CREATE INDEX idx_frames_window_name ON frames(window_name);
CREATE INDEX idx_frames_video_chunk_id ON frames(video_chunk_id);
CREATE INDEX idx_frames_document_path
ON frames(document_path) WHERE document_path IS NOT NULL;
CREATE TABLE ocr_text(
frame_id INT,
text TEXT,
text_json TEXT,
app_name TEXT,
ocr_engine TEXT,
window_name TEXT,
focused NUM,
text_length INT,
sync_id TEXT,
synced_at NUM
, "text_redacted" TEXT, "redacted_at" INTEGER, "redaction_version" INTEGER);
CREATE INDEX idx_ocr_text_frame_id ON ocr_text(frame_id);
CREATE TABLE elements(
id INT,
frame_id INT,
source TEXT,
role TEXT,
text TEXT,
parent_id INT,
depth INT,
left_bound REAL,
top_bound REAL,
width_bound REAL,
height_bound REAL,
confidence REAL,
sort_order INT,
properties TEXT
, on_screen INTEGER DEFAULT NULL);
CREATE INDEX idx_elements_frame_id ON elements(frame_id);
CREATE INDEX idx_elements_frame_src_role ON elements(frame_id, source, role) WHERE text IS NOT NULL;
CREATE INDEX idx_elements_onscreen_frame
ON elements(frame_id) WHERE on_screen = 1 AND text IS NOT NULL;
CREATE TABLE ui_events(
id INT,
timestamp NUM,
session_id TEXT,
relative_ms INT,
event_type TEXT,
x INT,
y INT,
delta_x INT,
delta_y INT,
button INT,
click_count INT,
key_code INT,
modifiers INT,
text_content TEXT,
text_length INT,
app_name TEXT,
app_pid INT,
window_title TEXT,
browser_url TEXT,
element_role TEXT,
element_name TEXT,
element_value TEXT,
element_description TEXT,
element_automation_id TEXT,
element_bounds TEXT,
frame_id INT,
sync_id TEXT,
machine_id TEXT,
synced_at NUM
, "text_redacted" TEXT, "redacted_at" INTEGER, "redaction_version" INTEGER);
CREATE INDEX idx_ui_events_timestamp ON ui_events(timestamp);
CREATE INDEX idx_ui_events_app_name ON ui_events(app_name);
CREATE INDEX idx_ui_events_frame_id ON ui_events(frame_id);
Parse error near line 12: no such column: id
ALL SELECT 'ocr_text', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTIN
error here ---^
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
SELECT 'frames' AS t, COUNT(*) AS rows, COUNT(DISTINCT id) AS uniq, COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames WHERE date(timestamp) = '2026-05-08'
UNION ALL SELECT 'elements', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM elements WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'ui_events', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ui_events WHERE date(timestamp) = '2026-05-08';
SQL
t rows uniq dups
--------- ------ ------ -----
frames 5059 5059 0
elements 779085 747320 31765
ui_events 6237 6237 0
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- HYPOTHESIS 1: NAS tables lack PRIMARY KEY because `CREATE TABLE AS SELECT WHERE 0`
-- doesn't preserve constraints — so INSERT OR IGNORE is silently inserting dups.
.schema frames
.schema ocr_text
.schema elements
.schema ui_events
-- HYPOTHESIS 2: Confirm by checking for duplicate IDs in 2026-05-08
SELECT 'frames' AS t,
COUNT(*) AS rows,
COUNT(DISTINCT id) AS uniq_ids,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames WHERE date(timestamp) = '2026-05-08'
UNION ALL SELECT 'ocr_text',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ocr_text WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'elements',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM elements WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'ui_events',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ui_events WHERE date(timestamp) = '2026-05-08';
-- Are any triggers defined on these tables?
SELECT name, tbl_name, sql FROM sqlite_master WHERE type='trigger';
SQL
CREATE TABLE frames(
id INT,
video_chunk_id INT,
offset_index INT,
timestamp NUM,
name TEXT,
app_name TEXT,
window_name TEXT,
focused NUM,
browser_url TEXT,
device_name TEXT,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
snapshot_path TEXT,
accessibility_text TEXT,
accessibility_tree_json TEXT,
content_hash INT,
simhash INT,
capture_trigger TEXT,
text_source TEXT,
cloud_blob_id TEXT,
full_text TEXT,
elements_ref_frame_id INT
, document_path TEXT DEFAULT NULL, "accessibility_text_redacted" TEXT, "accessibility_redacted_at" INTEGER, "accessibility_redaction_version" INTEGER, "image_redacted_at" INTEGER, "image_redaction_version" INTEGER, "image_redaction_regions" INTEGER);
CREATE INDEX idx_frames_timestamp ON frames(timestamp);
CREATE INDEX idx_frames_app_name ON frames(app_name);
CREATE INDEX idx_frames_window_name ON frames(window_name);
CREATE INDEX idx_frames_video_chunk_id ON frames(video_chunk_id);
CREATE INDEX idx_frames_document_path
ON frames(document_path) WHERE document_path IS NOT NULL;
CREATE TABLE ocr_text(
frame_id INT,
text TEXT,
text_json TEXT,
app_name TEXT,
ocr_engine TEXT,
window_name TEXT,
focused NUM,
text_length INT,
sync_id TEXT,
synced_at NUM
, "text_redacted" TEXT, "redacted_at" INTEGER, "redaction_version" INTEGER);
CREATE INDEX idx_ocr_text_frame_id ON ocr_text(frame_id);
CREATE TABLE elements(
id INT,
frame_id INT,
source TEXT,
role TEXT,
text TEXT,
parent_id INT,
depth INT,
left_bound REAL,
top_bound REAL,
width_bound REAL,
height_bound REAL,
confidence REAL,
sort_order INT,
properties TEXT
, on_screen INTEGER DEFAULT NULL);
CREATE INDEX idx_elements_frame_id ON elements(frame_id);
CREATE INDEX idx_elements_frame_src_role ON elements(frame_id, source, role) WHERE text IS NOT NULL;
CREATE INDEX idx_elements_onscreen_frame
ON elements(frame_id) WHERE on_screen = 1 AND text IS NOT NULL;
CREATE TABLE ui_events(
id INT,
timestamp NUM,
session_id TEXT,
relative_ms INT,
event_type TEXT,
x INT,
y INT,
delta_x INT,
delta_y INT,
button INT,
click_count INT,
key_code INT,
modifiers INT,
text_content TEXT,
text_length INT,
app_name TEXT,
app_pid INT,
window_title TEXT,
browser_url TEXT,
element_role TEXT,
element_name TEXT,
element_value TEXT,
element_description TEXT,
element_automation_id TEXT,
element_bounds TEXT,
frame_id INT,
sync_id TEXT,
machine_id TEXT,
synced_at NUM
, "text_redacted" TEXT, "redacted_at" INTEGER, "redaction_version" INTEGER);
CREATE INDEX idx_ui_events_timestamp ON ui_events(timestamp);
CREATE INDEX idx_ui_events_app_name ON ui_events(app_name);
CREATE INDEX idx_ui_events_frame_id ON ui_events(frame_id);
Parse error near line 12: no such column: id
ALL SELECT 'ocr_text', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTIN
error here ---^
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
SELECT 'frames' AS t, COUNT(*) AS rows, COUNT(DISTINCT id) AS uniq, COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames WHERE date(timestamp) = '2026-05-08'
UNION ALL SELECT 'elements', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM elements WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'ui_events', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ui_events WHERE date(timestamp) = '2026-05-08';
SQL
t rows uniq dups
--------- ------ ------ -----
frames 5059 5059 0
elements 779085 747320 31765
ui_events 6237 6237 0
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- HYPOTHESIS 1: NAS tables lack PRIMARY KEY because `CREATE TABLE AS SELECT WHERE 0`
-- doesn't preserve constraints — so INSERT OR IGNORE is silently inserting dups.
.schema frames
.schema ocr_text
.schema elements
.schema ui_events
-- HYPOTHESIS 2: Confirm by checking for duplicate IDs in 2026-05-08
SELECT 'frames' AS t,
COUNT(*) AS rows,
COUNT(DISTINCT id) AS uniq_ids,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames WHERE date(timestamp) = '2026-05-08'
UNION ALL SELECT 'ocr_text',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ocr_text WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'elements',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM elements WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'ui_events',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ui_events WHERE date(timestamp) = '2026-05-08';
-- Are any triggers defined on these tables?
SELECT name, tbl_name, sql FROM sqlite_master WHERE type='trigger';
SQL
CREATE TABLE frames(
id INT,
video_chunk_id INT,
offset_index INT,
timestamp NUM,
name TEXT,
app_name TEXT,
window_name TEXT,
focused NUM,
browser_url TEXT,
device_name TEXT,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
snapshot_path TEXT,
accessibility_text TEXT,
accessibility_tree_json TEXT,
content_hash INT,
simhash INT,
capture_trigger TEXT,
text_source TEXT,
cloud_blob_id TEXT,
full_text TEXT,
elements_ref_frame_id INT
, document_path TEXT DEFAULT NULL, "accessibility_text_redacted" TEXT, "accessibility_redacted_at" INTEGER, "accessibility_redaction_version" INTEGER, "image_redacted_at" INTEGER, "image_redaction_version" INTEGER, "image_redaction_regions" INTEGER);
CREATE INDEX idx_frames_timestamp ON frames(timestamp);
CREATE INDEX idx_frames_app_name ON frames(app_name);
CREATE INDEX idx_frames_window_name ON frames(window_name);
CREATE INDEX idx_frames_video_chunk_id ON frames(video_chunk_id);
CREATE INDEX idx_frames_document_path
ON frames(document_path) WHERE document_path IS NOT NULL;
CREATE TABLE ocr_text(
frame_id INT,
text TEXT,
text_json TEXT,
app_name TEXT,
ocr_engine TEXT,
window_name TEXT,
focused NUM,
text_length INT,
sync_id TEXT,
synced_at NUM
, "text_redacted" TEXT, "redacted_at" INTEGER, "redaction_version" INTEGER);
CREATE INDEX idx_ocr_text_frame_id ON ocr_text(frame_id);
CREATE TABLE elements(
id INT,
frame_id INT,
source TEXT,
role TEXT,
text TEXT,
parent_id INT,
depth INT,
left_bound REAL,
top_bound REAL,
width_bound REAL,
height_bound REAL,
confidence REAL,
sort_order INT,
properties TEXT
, on_screen INTEGER DEFAULT NULL);
CREATE INDEX idx_elements_frame_id ON elements(frame_id);
CREATE INDEX idx_elements_frame_src_role ON elements(frame_id, source, role) WHERE text IS NOT NULL;
CREATE INDEX idx_elements_onscreen_frame
ON elements(frame_id) WHERE on_screen = 1 AND text IS NOT NULL;
CREATE TABLE ui_events(
id INT,
timestamp NUM,
session_id TEXT,
relative_ms INT,
event_type TEXT,
x INT,
y INT,
delta_x INT,
delta_y INT,
button INT,
click_count INT,
key_code INT,
modifiers INT,
text_content TEXT,
text_length INT,
app_name TEXT,
app_pid INT,
window_title TEXT,
browser_url TEXT,
element_role TEXT,
element_name TEXT,
element_value TEXT,
element_description TEXT,
element_automation_id TEXT,
element_bounds TEXT,
frame_id INT,
sync_id TEXT,
machine_id TEXT,
synced_at NUM
, "text_redacted" TEXT, "redacted_at" INTEGER, "redaction_version" INTEGER);
CREATE INDEX idx_ui_events_timestamp ON ui_events(timestamp);
CREATE INDEX idx_ui_events_app_name ON ui_events(app_name);
CREATE INDEX idx_ui_events_frame_id ON ui_events(frame_id);
Parse error near line 12: no such column: id
ALL SELECT 'ocr_text', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTIN
error here ---^
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
SELECT 'frames' AS t, COUNT(*) AS rows, COUNT(DISTINCT id) AS uniq, COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames WHERE date(timestamp) = '2026-05-08'
UNION ALL SELECT 'elements', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM elements WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'ui_events', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ui_events WHERE date(timestamp) = '2026-05-08';
SQL
t rows uniq dups
--------- ------ ------ -----
frames 5059 5059 0
elements 779085 747320 31765
ui_events 6237 6237 0
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- HYPOTHESIS 1: NAS tables lack PRIMARY KEY because `CREATE TABLE AS SELECT WHERE 0`
-- doesn't preserve constraints — so INSERT OR IGNORE is silently inserting dups.
.schema frames
.schema ocr_text
.schema elements
.schema ui_events
-- HYPOTHESIS 2: Confirm by checking for duplicate IDs in 2026-05-08
SELECT 'frames' AS t,
COUNT(*) AS rows,
COUNT(DISTINCT id) AS uniq_ids,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames WHERE date(timestamp) = '2026-05-08'
UNION ALL SELECT 'ocr_text',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ocr_text WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'elements',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM elements WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'ui_events',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ui_events WHERE date(timestamp) = '2026-05-08';
-- Are any triggers defined on these tables?
SELECT name, tbl_name, sql FROM sqlite_master WHERE type='trigger';
SQL
CREATE TABLE frames(
id INT,
video_chunk_id INT,
offset_index INT,
timestamp NUM,
name TEXT,
app_name TEXT,
window_name TEXT,
focused NUM,
browser_url TEXT,
device_name TEXT,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
snapshot_path TEXT,
accessibility_text TEXT,
accessibility_tree_json TEXT,
content_hash INT,
simhash INT,
capture_trigger TEXT,
text_source TEXT,
cloud_blob_id TEXT,
full_text TEXT,
elements_ref_frame_id INT
, document_path TEXT DEFAULT NULL, "accessibility_text_redacted" TEXT, "accessibility_redacted_at" INTEGER, "accessibility_redaction_version" INTEGER, "image_redacted_at" INTEGER, "image_redaction_version" INTEGER, "image_redaction_regions" INTEGER);
CREATE INDEX idx_frames_timestamp ON frames(timestamp);
CREATE INDEX idx_frames_app_name ON frames(app_name);
CREATE INDEX idx_frames_window_name ON frames(window_name);
CREATE INDEX idx_frames_video_chunk_id ON frames(video_chunk_id);
CREATE INDEX idx_frames_document_path
ON frames(document_path) WHERE document_path IS NOT NULL;
CREATE TABLE ocr_text(
frame_id INT,
text TEXT,
text_json TEXT,
app_name TEXT,
ocr_engine TEXT,
window_name TEXT,
focused NUM,
text_length INT,
sync_id TEXT,
synced_at NUM
, "text_redacted" TEXT, "redacted_at" INTEGER, "redaction_version" INTEGER);
CREATE INDEX idx_ocr_text_frame_id ON ocr_text(frame_id);
CREATE TABLE elements(
id INT,
frame_id INT,
source TEXT,
role TEXT,
text TEXT,
parent_id INT,
depth INT,
left_bound REAL,
top_bound REAL,
width_bound REAL,
height_bound REAL,
confidence REAL,
sort_order INT,
properties TEXT
, on_screen INTEGER DEFAULT NULL);
CREATE INDEX idx_elements_frame_id ON elements(frame_id);
CREATE INDEX idx_elements_frame_src_role ON elements(frame_id, source, role) WHERE text IS NOT NULL;
CREATE INDEX idx_elements_onscreen_frame
ON elements(frame_id) WHERE on_screen = 1 AND text IS NOT NULL;
CREATE TABLE ui_events(
id INT,
timestamp NUM,
session_id TEXT,
relative_ms INT,
event_type TEXT,
x INT,
y INT,
delta_x INT,
delta_y INT,
button INT,
click_count INT,
key_code INT,
modifiers INT,
text_content TEXT,
text_length INT,
app_name TEXT,
app_pid INT,
window_title TEXT,
browser_url TEXT,
element_role TEXT,
element_name TEXT,
element_value TEXT,
element_description TEXT,
element_automation_id TEXT,
element_bounds TEXT,
frame_id INT,
sync_id TEXT,
machine_id TEXT,
synced_at NUM
, "text_redacted" TEXT, "redacted_at" INTEGER, "redaction_version" INTEGER);
CREATE INDEX idx_ui_events_timestamp ON ui_events(timestamp);
CREATE INDEX idx_ui_events_app_name ON ui_events(app_name);
CREATE INDEX idx_ui_events_frame_id ON ui_events(frame_id);
Parse error near line 12: no such column: id
ALL SELECT 'ocr_text', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTIN
error here ---^
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
SELECT 'frames' AS t, COUNT(*) AS rows, COUNT(DISTINCT id) AS uniq, COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames WHERE date(timestamp) = '2026-05-08'
UNION ALL SELECT 'elements', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM elements WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'ui_events', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ui_events WHERE date(timestamp) = '2026-05-08';
SQL
t rows uniq dups
--------- ------ ------ -----
frames 5059 5059 0
elements 779085 747320 31765
ui_events 6237 6237 0
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/fin Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- HYPOTHESIS 1: NAS tables lack PRIMARY KEY because `CREATE TABLE AS SELECT WHERE 0`
-- doesn't preserve constraints — so INSERT OR IGNORE is silently inserting dups.
.schema frames
.schema ocr_text
.schema elements
.schema ui_events
-- HYPOTHESIS 2: Confirm by checking for duplicate IDs in 2026-05-08
SELECT 'frames' AS t,
COUNT(*) AS rows,
COUNT(DISTINCT id) AS uniq_ids,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames WHERE date(timestamp) = '2026-05-08'
UNION ALL SELECT 'ocr_text',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ocr_text WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'elements',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM elements WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'ui_events',
COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ui_events WHERE date(timestamp) = '2026-05-08';
-- Are any triggers defined on these tables?
SELECT name, tbl_name, sql FROM sqlite_master WHERE type='trigger';
SQL
CREATE TABLE frames(
id INT,
video_chunk_id INT,
offset_index INT,
timestamp NUM,
name TEXT,
app_name TEXT,
window_name TEXT,
focused NUM,
browser_url TEXT,
device_name TEXT,
sync_id TEXT,
machine_id TEXT,
synced_at NUM,
snapshot_path TEXT,
accessibility_text TEXT,
accessibility_tree_json TEXT,
content_hash INT,
simhash INT,
capture_trigger TEXT,
text_source TEXT,
cloud_blob_id TEXT,
full_text TEXT,
elements_ref_frame_id INT
, document_path TEXT DEFAULT NULL, "accessibility_text_redacted" TEXT, "accessibility_redacted_at" INTEGER, "accessibility_redaction_version" INTEGER, "image_redacted_at" INTEGER, "image_redaction_version" INTEGER, "image_redaction_regions" INTEGER);
CREATE INDEX idx_frames_timestamp ON frames(timestamp);
CREATE INDEX idx_frames_app_name ON frames(app_name);
CREATE INDEX idx_frames_window_name ON frames(window_name);
CREATE INDEX idx_frames_video_chunk_id ON frames(video_chunk_id);
CREATE INDEX idx_frames_document_path
ON frames(document_path) WHERE document_path IS NOT NULL;
CREATE TABLE ocr_text(
frame_id INT,
text TEXT,
text_json TEXT,
app_name TEXT,
ocr_engine TEXT,
window_name TEXT,
focused NUM,
text_length INT,
sync_id TEXT,
synced_at NUM
, "text_redacted" TEXT, "redacted_at" INTEGER, "redaction_version" INTEGER);
CREATE INDEX idx_ocr_text_frame_id ON ocr_text(frame_id);
CREATE TABLE elements(
id INT,
frame_id INT,
source TEXT,
role TEXT,
text TEXT,
parent_id INT,
depth INT,
left_bound REAL,
top_bound REAL,
width_bound REAL,
height_bound REAL,
confidence REAL,
sort_order INT,
properties TEXT
, on_screen INTEGER DEFAULT NULL);
CREATE INDEX idx_elements_frame_id ON elements(frame_id);
CREATE INDEX idx_elements_frame_src_role ON elements(frame_id, source, role) WHERE text IS NOT NULL;
CREATE INDEX idx_elements_onscreen_frame
ON elements(frame_id) WHERE on_screen = 1 AND text IS NOT NULL;
CREATE TABLE ui_events(
id INT,
timestamp NUM,
session_id TEXT,
relative_ms INT,
event_type TEXT,
x INT,
y INT,
delta_x INT,
delta_y INT,
button INT,
click_count INT,
key_code INT,
modifiers INT,
text_content TEXT,
text_length INT,
app_name TEXT,
app_pid INT,
window_title TEXT,
browser_url TEXT,
element_role TEXT,
element_name TEXT,
element_value TEXT,
element_description TEXT,
element_automation_id TEXT,
element_bounds TEXT,
frame_id INT,
sync_id TEXT,
machine_id TEXT,
synced_at NUM
, "text_redacted" TEXT, "redacted_at" INTEGER, "redaction_version" INTEGER);
CREATE INDEX idx_ui_events_timestamp ON ui_events(timestamp);
CREATE INDEX idx_ui_events_app_name ON ui_events(app_name);
CREATE INDEX idx_ui_events_frame_id ON ui_events(frame_id);
Parse error near line 12: no such column: id
ALL SELECT 'ocr_text', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTIN
error here ---^
Adm1n@DXP4800PLUS-B5F8:/volume2/docker/finance/finance-hub$ Connection to [IP_ADDRESS] closed by remote host.
Connection to [IP_ADDRESS] closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ nas
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
SELECT 'frames' AS t, COUNT(*) AS rows, COUNT(DISTINCT id) AS uniq, COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames WHERE date(timestamp) = '2026-05-08'
UNION ALL SELECT 'elements', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM elements WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
UNION ALL SELECT 'ui_events', COUNT(*), COUNT(DISTINCT id), COUNT(*) - COUNT(DISTINCT id)
FROM ui_events WHERE date(timestamp) = '2026-05-08';
SQL
t rows uniq dups
--------- ------ ------ -----
frames 5059 5059 0
elements 779085 747320 31765
ui_events 6237 6237 0
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-z Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh
iTerm2ShellEditViewSessionScripts•DOCKER• ₴1Adm1n@DXP4800PLUS-B5F8:~$DEV (-zsh)O 82ProfilesAPP (-zsh)WindowHelp• *3-zsh• x4ssh-zsh• 285lallscreenpipe"• ₴6Assh100% (47*8•87Sun 10 May 21:14:05-zshT81*8+...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenp Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- Find an element id that appears multiple times
WITH dup_ids AS (
SELECT id, COUNT(*) AS times
FROM elements
WHERE frame_id IN (SELECT id FROM frames WHERE date(timestamp) = '2026-05-08')
GROUP BY id HAVING times > 1
LIMIT 1
)
SELECT * FROM elements WHERE id = (SELECT id FROM dup_ids);
SQL
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
D window_name IS NOT NULL\\n\" rows_affected=0 D window_name IS NOT NULL\\n\" rows_affected=0 rows_returned
riven_capture: content dedup: skipping capture for monitor 2 =182 elapsed=1.9089s\n2026-05-07T21:50:34.470706Z INFO scre
(hash=2730807366803551277, trigger=click) enpipe_engine::sleep_monitor: Screen unlocked (CGSession saf
ety-net poll)\n2026-05-07T21:50:34.479630Z INFO screenpipe_
tip: install a starter bundle of pipes: engine::event_driven_capture: invalidating persistent stream
screenpipe install [URL_WITH_CREDENTIALS] record --disable-audio --ignored-windows \"Boostero
2026-05-07T21:01:01.987730Z INFO screenpipe_engine::event_d id\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\
riven_capture: content dedup: skipping capture for monitor 1 ndetected hardware tier: Mid\nwarning: parakeet is not suppo
(hash=2730807366803551277, trigger=click) rted on this platform, using whisper-tiny instead\n2026-05-0
2026-05-07T21:01:19.657174Z INFO screenpipe_engine::event_d 8T09:25:44.404966Z INFO screenpipe_engine::auth_key: api au
riven_capture: content dedup: skipping capture for monitor 2 th: key resolved via secret store\nchecking permissions...\n
(hash=2730807366803551277, trigger=click) screen recording: ok\n accessibility: ok\n2026-05-08T09:2
2026-05-07T21:04:45.665545Z INFO screenpipe_engine::snapsho 5:44.477216Z INFO screenpipe_screen::monitor::macos_version
t_compaction: snapshot compaction: found 24 eligible frames : Detected macOS version: 14.6\n2026-05-08T09:25:45.851716Z
2026-05-07T21:04:46.555243Z INFO screenpipe_engine::snapsho INFO screenpipe_engine::sleep_monitor: Starting macOS sleep
t_compaction: snapshot compaction: 11 frames, 2.4MB → 0.4MB /wake monitor\n2026-05-08T09:25:45.853302Z INFO screenpipe_
(6.5x), 11 JPEGs deleted engine::sleep_monitor: Screen lock/unlock observers register
2026-05-07T21:04:47.505518Z INFO screenpipe_engine::snapsho ed (CFNotificationCenter)\n2026-05-08T09:25:45.853909Z INFO
t_compaction: snapshot compaction: 11 frames, 2.1MB → 0.3MB screenpipe_engine::sleep_monitor: Display reconfiguration w
(6.3x), 11 JPEGs deleted atcher registered (CGDisplayRegisterReconfigurationCallback)
\n2026-05-08T09:25:45.874540Z INFO screenpipe_engine::permi
tip: sign in for higher AI quotas + cloud sync: ssion_monitor: permission monitor started screen=true mic=tr
screenpipe login ue accessibility=true keychain=true\n2026-05-08T09:25:45.874
606Z INFO screenpipe: meeting detector enabled — independen
2026-05-07T21:07:59.390425Z INFO screenpipe_engine::event_d t of transcription mode\n2026-05-08T09:25:45.874891Z INFO s
riven_capture: content dedup: skipping capture for monitor 1 creenpipe: API server listening on [IP_ADDRESS]:3030 (localhost
(hash=2730807366803551277, trigger=click) only)\n2026-05-08T09:25:45.874915Z INFO screenpipe: API au
2026-05-07T21:08:02.049042Z INFO screenpipe_engine::event_d th enabled — run `screenpipe auth token` to view your key\n2
riven_capture: content dedup: skipping capture for monitor 1 026-05-08T09:25:45.874789Z INFO screenpipe_engine::power::m
(hash=2730807366803551277, trigger=click) anager: power manager started (poll interval: 10s)\n2026-05-
2026-05-07T21:08:58.406336Z INFO screenpipe_engine::event_d 08T09:25:45.874931Z INFO screenpipe_engine::vision_manager:
riven_capture: content dedup: skipping capture for monitor 1 :manager: Starting VisionManager\n2026-05-08T09:25:45.874854
(hash=-3190010697038351257, trigger=click) Z INFO screenpipe_engine::snapshot_compaction: snapshot com
2026-05-07T21:08:58.638209Z INFO screenpipe_engine::event_d paction worker started (min_age=600s, poll=300s)\n2026-05-08
riven_capture: content dedup: skipping capture for monitor 2 T09:25:45.877906Z INFO screenpipe_core::pipes: loaded pipe:
(hash=-3190010697038351257, trigger=click) day-recap\n2026-05-08T09:25:45.878202Z INFO screenpipe_cor
2026-05-07T21:09:33.105308Z INFO screenpipe_engine::event_d e::pipes: loaded pipe: standup-update\n2026-05-08T09:25:45.8
riven_capture: content dedup: skipping capture for monitor 2 78737Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\
(hash=2730807366803551277, trigger=click) n2026-05-08T09:25:45.878843Z INFO screenpipe_core::pipes: l
2026-05-07T21:09:47.541287Z INFO screenpipe_engine::snapsho oaded pipe: time-breakdown\n2026-05-08T09:25:45.878921Z INF
t_compaction: snapshot compaction: found 21 eligible frames O screenpipe_core::pipes: loaded pipe: video-export\n2026-05
2026-05-07T21:09:48.491343Z INFO screenpipe_engine::snapsho -08T09:25:45.878997Z INFO screenpipe_core::pipes: loaded pi
t_compaction: snapshot compaction: 10 frames, 2.2MB → 0.4MB pe: meeting-summary\n2026-05-08T09:25:45.879015Z INFO scree
(5.6x), 10 JPEGs deleted npipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.scree
2026-05-07T21:09:49.574479Z INFO screenpipe_engine::snapsho npipe/pipes\"\n\n\n\n
t_compaction: snapshot compaction: 9 frames, 1.8MB → 0.4MB ( _ \n __________________ ___ ____ ____
4.4x), 9 JPEGs deleted (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \
\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ /
tip: get the screenpipe desktop app for the full experienc / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_
e / .___/\\___/ \n /_/ /_/
https://screenpi.pe \n\n\n\npower AI by everything you've seen, said
or heard\nopen source | runs locally | developer friendly\n\
2026-05-07T21:11:18.711785Z INFO screenpipe_engine::event_d n\n┌────────────────────────┬───────────────────────────────
riven_capture: content dedup: skipping capture for monitor 2 ─────┐\n│ setting │ value
(hash=2730807366803551277, trigger=click) │\n├────────────────────────┼─────────────────────
2026-05-07T21:11:43.731627Z INFO screenpipe_engine::event_d ───────────────┤\n│ audio chunk duration │ 30 seconds
riven_capture: content dedup: skipping capture for monitor 2 │\n│ port │ 3030
(hash=-6936887013967671323, trigger=click) │\n│ audio disabled │ true
2026-05-07T21:11:58.569054Z INFO screenpipe_engine::event_d │\n│ vision disabled │
riven_capture: content dedup: skipping capture for monitor 2 false │\n│ pause on DRM content
(hash=-6936887013967671323, trigger=click) │ false │\n│ audio engine
2026-05-07T21:14:49.597611Z INFO screenpipe_engine::snapsho │ Parakeet │\n│ vad engine
t_compaction: snapshot compaction: found 29 eligible frames │ Silero │\n│ data
2026-05-07T21:14:50.698785Z INFO screenpipe_engine::snapsho directory │ /Users/lukas/.screenpipe │\n│
t_compaction: snapshot compaction: 14 frames, 3.1MB → 0.4MB debug mode │ false
(8.0x), 14 JPEGs deleted │\n│ telemetry │ true
2026-05-07T21:14:53.637486Z INFO screenpipe_engine::snapsho │\n│ use pii removal │ true
t_compaction: snapshot compaction: 13 frames, 2.5MB → 0.6MB │\n│ use all monitors │ true
(4.4x), 13 JPEGs deleted │\n2026-05-08T09:25:45.881529Z INFO screenpi
2026-05-07T21:15:02.521080Z INFO screenpipe_engine::event_d pe_core::pipes: pipe scheduler started (generation 2)\n│ ign
riven_capture: content dedup: skipping capture for monitor 1 ored windows │ [\"Boosteroid\"] │
(hash=-6936887013967671323, trigger=click) \n│ included windows │ []
│\n│ cloud sync │ disabled
tip: wire screenpipe into claude with one command: │\n│ auto-destruct pid │ 0
claude mcp add screenpipe -- npx -y screenpipe-mcp │\n│ deepgram key │ not set
then ask claude to build a pipe that tracks who you a │\n│ api auth │ enabled
re, your todos, and how you spend your time from your screen │\n│ encrypt secrets │ disabl
activity ed │\n│ retention days │ 1
4 │\n│ retention mode
2026-05-07T21:15:56.220866Z INFO screenpipe_engine::event_d │ media-only (keep transcripts) │\n├─────────────────
riven_capture: content dedup: skipping capture for monitor 2 ───────┼────────────────────────────────────┤\n│ languages
(hash=6913338268963121281, trigger=click) │ │\n│
2026-05-07T21:16:19.271233Z INFO screenpipe_engine::event_d │ all languages │\n├──
riven_capture: content dedup: skipping capture for monitor 1 ──────────────────────┼────────────────────────────────────┤
(hash=6913338268963121281, trigger=click) \n│ monitors │
2026-05-07T21:17:24.638614Z INFO screenpipe_engine::event_d │\n│ │ id: 1
riven_capture: content dedup: skipping capture for monitor 2 │\n│ │ id: 2
(hash=6913338268963121281, trigger=visual_change) │\n├────────────────────────┼─────────────────
2026-05-07T21:17:30.785805Z INFO screenpipe_engine::event_d ───────────────────┤\n│ audio devices │
riven_capture: content dedup: skipping capture for monitor 2 │\n│ │ disabl
(hash=6913338268963121281, trigger=visual_change) ed │\n└────────────────────────┴──
2026-05-07T21:17:33.819916Z INFO screenpipe_engine::event_d ──────────────────────────────────┘\nyou are using local pro
riven_capture: content dedup: skipping capture for monitor 2 cessing. all your data stays on your computer.\n\nwarning: t
(hash=6913338268963121281, trigger=visual_change) elemetry is enabled. only error-level data will be sent.\nto
2026-05-07T21:18:40.291660Z INFO screenpipe_engine::event_d disable, use the --disable-telemetry flag.\n\ncheck latest
riven_capture: content dedup: skipping capture for monitor 2 changes here: https://github.com/screenpipe/screenpipe/relea
(hash=6913338268963121281, trigger=visual_change) ses\n2026-05-08T09:25:45.881961Z INFO screenpipe: starting
2026-05-07T21:18:44.647424Z INFO screenpipe_engine::event_d UI event capture\n2026-05-08T09:25:45.888762Z INFO screenpi
riven_capture: content dedup: skipping capture for monitor 2 pe_engine::power::manager: initial power profile: Performanc
(hash=6913338268963121281, trigger=click) e (on_ac=true, battery=Some(100))\n2026-05-08T09:25:45.89128
2026-05-07T21:18:44.850725Z INFO screenpipe_engine::event_d 6Z WARN screenpipe: pi agent install failed: bun not found
riven_capture: content dedup: skipping capture for monitor 1 — install from https://bun.sh\n2026-05-08T09:25:45.896583Z
(hash=6913338268963121281, trigger=click) INFO screenpipe_engine::ui_recorder: Starting UI event captu
2026-05-07T21:18:46.523321Z INFO screenpipe_engine::event_d re\n2026-05-08T09:25:45.913159Z INFO screenpipe_engine::ui_
riven_capture: content dedup: skipping capture for monitor 2 recorder: UI recording session started: 03da4156-9bc1-4c59-8
(hash=6913338268963121281, trigger=visual_change) 6f8-3b937ccacca2\n2026-05-08T09:25:45.913483Z INFO screenpi
2026-05-07T21:18:49.556444Z INFO screenpipe_engine::event_d pe_engine::calendar_speaker_id: speaker identification: star
riven_capture: content dedup: skipping capture for monitor 2 ted (user_name=<not set>)\n2026-05-08T09:25:45.913512Z INFO
(hash=6913338268963121281, trigger=visual_change) screenpipe_engine::hot_frame_cache: hot_frame_cache: warmin
2026-05-07T21:19:53.705827Z INFO screenpipe_engine::snapsho g from DB (2026-05-07 06:25:45.913511 UTC to 2026-05-08 06:2
t_compaction: snapshot compaction: found 42 eligible frames 5:45.913511 UTC)\n2026-05-08T09:25:45.914574Z INFO screenpi
2026-05-07T21:19:55.056907Z INFO screenpipe_engine::snapsho pe_engine::meeting_detector: meeting v2: detection loop star
t_compaction: snapshot compaction: 20 frames, 3.6MB → 0.9MB ted (base_interval=5s, profiles=12)\n2026-05-08T09:25:45.923
(4.0x), 20 JPEGs deleted 208Z INFO screenpipe_engine::server: Server listening on 12
2026-05-07T21:19:56.759790Z INFO screenpipe_engine::snapsho [IP_ADDRESS]:3030\n2026-05-08T09:25:45.927056Z INFO screenpipe_c
t_compaction: snapshot compaction: 20 frames, 3.9MB → 1.1MB onnect::mdns: mdns: advertising screenpipe on port 3030\n202
(3.4x), 20 JPEGs deleted 6-05-08T09:25:46.310992Z INFO screenpipe_engine::vision_man
ager::manager: Starting vision recording for monitor 1 (1440
tip: install a starter bundle of pipes: x900)\n2026-05-08T09:25:46.311039Z INFO screenpipe_engine::
screenpipe install https://screenpi.pe/start.json vision_manager::manager: Starting event-driven capture for m
onitor 1 (device: monitor_1)\n2026-05-08T09:25:46.311076Z I
2026-05-07T21:20:29.459260Z INFO screenpipe_engine::event_d NFO screenpipe_engine::event_driven_capture: event-driven ca
riven_capture: content dedup: skipping capture for monitor 2 pture started for monitor 1 (device: monitor_1)\n2026-05-08T
(hash=6913338268963121281, trigger=visual_change) 09:25:46.472936Z INFO screenpipe_engine::vision_manager::ma
2026-05-07T21:20:41.532773Z INFO screenpipe_engine::event_d nager: Starting vision recording for monitor 2 (3008x1253)\n
riven_capture: content dedup: skipping capture for monitor 2 2026-05-08T09:25:46.472968Z INFO screenpipe_engine::vision_
(hash=6913338268963121281, trigger=visual_change) manager::manager: Starting event-driven capture for monitor
2026-05-07T21:20:57.170225Z INFO screenpipe_engine::event_d 2 (device: monitor_2)\n2026-05-08T09:25:46.472981Z INFO scr
riven_capture: content dedup: skipping capture for monitor 1 eenpipe_engine::vision_manager::manager: VisionManager start
(hash=6913338268963121281, trigger=click) ed with 2/2 monitor(s)\n2026-05-08T09:25:46.472989Z INFO sc
2026-05-07T21:21:07.150037Z INFO screenpipe_engine::event_d reenpipe_engine::vision_manager::monitor_watcher: Starting m
riven_capture: content dedup: skipping capture for monitor 1 onitor watcher (event-driven via CGDisplayRegisterReconfigur
(hash=6913338268963121281, trigger=click) ationCallback, 60s backstop poll)\n2026-05-08T09:25:46.47301
2026-05-07T21:21:07.320528Z INFO screenpipe_engine::event_d 7Z INFO screenpipe_engine::event_driven_capture: event-driv
riven_capture: content dedup: skipping capture for monitor 2 en capture started for monitor 2 (device: monitor_2)\n2026-0
(hash=6913338268963121281, trigger=click) 5-08T09:25:47.579143Z INFO sck_rs::stream_manager: persiste
2026-05-07T21:21:27.422746Z INFO screenpipe_engine::event_d nt SCK stream started for display 1 (1440x900, 2fps, 2 exclu
riven_capture: content dedup: skipping capture for monitor 2 ded)"}
(hash=6913338268963121281, trigger=visual_change)
2026-05-07T21:22:21.936188Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=6913338268963121281, trigger=click)
2026-05-07T21:22:22.033584Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=6913338268963121281, trigger=click)
2026-05-07T21:22:50.292905Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:16.735984Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:16.914206Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:18.420221Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:18.695513Z INFO screenpipe_engine::event_d ...
|
iTerm2
|
ssh
|
NULL
|
|
D window_name IS NOT NULL\\n\" rows_affected=0 D window_name IS NOT NULL\\n\" rows_affected=0 rows_returned
riven_capture: content dedup: skipping capture for monitor 2 =182 elapsed=1.9089s\n2026-05-07T21:50:34.470706Z INFO scre
(hash=2730807366803551277, trigger=click) enpipe_engine::sleep_monitor: Screen unlocked (CGSession saf
ety-net poll)\n2026-05-07T21:50:34.479630Z INFO screenpipe_
tip: install a starter bundle of pipes: engine::event_driven_capture: invalidating persistent stream
screenpipe install [URL_WITH_CREDENTIALS] record --disable-audio --ignored-windows \"Boostero
2026-05-07T21:01:01.987730Z INFO screenpipe_engine::event_d id\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\
riven_capture: content dedup: skipping capture for monitor 1 ndetected hardware tier: Mid\nwarning: parakeet is not suppo
(hash=2730807366803551277, trigger=click) rted on this platform, using whisper-tiny instead\n2026-05-0
2026-05-07T21:01:19.657174Z INFO screenpipe_engine::event_d 8T09:25:44.404966Z INFO screenpipe_engine::auth_key: api au
riven_capture: content dedup: skipping capture for monitor 2 th: key resolved via secret store\nchecking permissions...\n
(hash=2730807366803551277, trigger=click) screen recording: ok\n accessibility: ok\n2026-05-08T09:2
2026-05-07T21:04:45.665545Z INFO screenpipe_engine::snapsho 5:44.477216Z INFO screenpipe_screen::monitor::macos_version
t_compaction: snapshot compaction: found 24 eligible frames : Detected macOS version: 14.6\n2026-05-08T09:25:45.851716Z
2026-05-07T21:04:46.555243Z INFO screenpipe_engine::snapsho INFO screenpipe_engine::sleep_monitor: Starting macOS sleep
t_compaction: snapshot compaction: 11 frames, 2.4MB → 0.4MB /wake monitor\n2026-05-08T09:25:45.853302Z INFO screenpipe_
(6.5x), 11 JPEGs deleted engine::sleep_monitor: Screen lock/unlock observers register
2026-05-07T21:04:47.505518Z INFO screenpipe_engine::snapsho ed (CFNotificationCenter)\n2026-05-08T09:25:45.853909Z INFO
t_compaction: snapshot compaction: 11 frames, 2.1MB → 0.3MB screenpipe_engine::sleep_monitor: Display reconfiguration w
(6.3x), 11 JPEGs deleted atcher registered (CGDisplayRegisterReconfigurationCallback)
\n2026-05-08T09:25:45.874540Z INFO screenpipe_engine::permi
tip: sign in for higher AI quotas + cloud sync: ssion_monitor: permission monitor started screen=true mic=tr
screenpipe login ue accessibility=true keychain=true\n2026-05-08T09:25:45.874
606Z INFO screenpipe: meeting detector enabled — independen
2026-05-07T21:07:59.390425Z INFO screenpipe_engine::event_d t of transcription mode\n2026-05-08T09:25:45.874891Z INFO s
riven_capture: content dedup: skipping capture for monitor 1 creenpipe: API server listening on [IP_ADDRESS]:3030 (localhost
(hash=2730807366803551277, trigger=click) only)\n2026-05-08T09:25:45.874915Z INFO screenpipe: API au
2026-05-07T21:08:02.049042Z INFO screenpipe_engine::event_d th enabled — run `screenpipe auth token` to view your key\n2
riven_capture: content dedup: skipping capture for monitor 1 026-05-08T09:25:45.874789Z INFO screenpipe_engine::power::m
(hash=2730807366803551277, trigger=click) anager: power manager started (poll interval: 10s)\n2026-05-
2026-05-07T21:08:58.406336Z INFO screenpipe_engine::event_d 08T09:25:45.874931Z INFO screenpipe_engine::vision_manager:
riven_capture: content dedup: skipping capture for monitor 1 :manager: Starting VisionManager\n2026-05-08T09:25:45.874854
(hash=-3190010697038351257, trigger=click) Z INFO screenpipe_engine::snapshot_compaction: snapshot com
2026-05-07T21:08:58.638209Z INFO screenpipe_engine::event_d paction worker started (min_age=600s, poll=300s)\n2026-05-08
riven_capture: content dedup: skipping capture for monitor 2 T09:25:45.877906Z INFO screenpipe_core::pipes: loaded pipe:
(hash=-3190010697038351257, trigger=click) day-recap\n2026-05-08T09:25:45.878202Z INFO screenpipe_cor
2026-05-07T21:09:33.105308Z INFO screenpipe_engine::event_d e::pipes: loaded pipe: standup-update\n2026-05-08T09:25:45.8
riven_capture: content dedup: skipping capture for monitor 2 78737Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\
(hash=2730807366803551277, trigger=click) n2026-05-08T09:25:45.878843Z INFO screenpipe_core::pipes: l
2026-05-07T21:09:47.541287Z INFO screenpipe_engine::snapsho oaded pipe: time-breakdown\n2026-05-08T09:25:45.878921Z INF
t_compaction: snapshot compaction: found 21 eligible frames O screenpipe_core::pipes: loaded pipe: video-export\n2026-05
2026-05-07T21:09:48.491343Z INFO screenpipe_engine::snapsho -08T09:25:45.878997Z INFO screenpipe_core::pipes: loaded pi
t_compaction: snapshot compaction: 10 frames, 2.2MB → 0.4MB pe: meeting-summary\n2026-05-08T09:25:45.879015Z INFO scree
(5.6x), 10 JPEGs deleted npipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.scree
2026-05-07T21:09:49.574479Z INFO screenpipe_engine::snapsho npipe/pipes\"\n\n\n\n
t_compaction: snapshot compaction: 9 frames, 1.8MB → 0.4MB ( _ \n __________________ ___ ____ ____
4.4x), 9 JPEGs deleted (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \
\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ /
tip: get the screenpipe desktop app for the full experienc / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_
e / .___/\\___/ \n /_/ /_/
https://screenpi.pe \n\n\n\npower AI by everything you've seen, said
or heard\nopen source | runs locally | developer friendly\n\
2026-05-07T21:11:18.711785Z INFO screenpipe_engine::event_d n\n┌────────────────────────┬───────────────────────────────
riven_capture: content dedup: skipping capture for monitor 2 ─────┐\n│ setting │ value
(hash=2730807366803551277, trigger=click) │\n├────────────────────────┼─────────────────────
2026-05-07T21:11:43.731627Z INFO screenpipe_engine::event_d ───────────────┤\n│ audio chunk duration │ 30 seconds
riven_capture: content dedup: skipping capture for monitor 2 │\n│ port │ 3030
(hash=-6936887013967671323, trigger=click) │\n│ audio disabled │ true
2026-05-07T21:11:58.569054Z INFO screenpipe_engine::event_d │\n│ vision disabled │
riven_capture: content dedup: skipping capture for monitor 2 false │\n│ pause on DRM content
(hash=-6936887013967671323, trigger=click) │ false │\n│ audio engine
2026-05-07T21:14:49.597611Z INFO screenpipe_engine::snapsho │ Parakeet │\n│ vad engine
t_compaction: snapshot compaction: found 29 eligible frames │ Silero │\n│ data
2026-05-07T21:14:50.698785Z INFO screenpipe_engine::snapsho directory │ /Users/lukas/.screenpipe │\n│
t_compaction: snapshot compaction: 14 frames, 3.1MB → 0.4MB debug mode │ false
(8.0x), 14 JPEGs deleted │\n│ telemetry │ true
2026-05-07T21:14:53.637486Z INFO screenpipe_engine::snapsho │\n│ use pii removal │ true
t_compaction: snapshot compaction: 13 frames, 2.5MB → 0.6MB │\n│ use all monitors │ true
(4.4x), 13 JPEGs deleted │\n2026-05-08T09:25:45.881529Z INFO screenpi
2026-05-07T21:15:02.521080Z INFO screenpipe_engine::event_d pe_core::pipes: pipe scheduler started (generation 2)\n│ ign
riven_capture: content dedup: skipping capture for monitor 1 ored windows │ [\"Boosteroid\"] │
(hash=-6936887013967671323, trigger=click) \n│ included windows │ []
│\n│ cloud sync │ disabled
tip: wire screenpipe into claude with one command: │\n│ auto-destruct pid │ 0
claude mcp add screenpipe -- npx -y screenpipe-mcp │\n│ deepgram key │ not set
then ask claude to build a pipe that tracks who you a │\n│ api auth │ enabled
re, your todos, and how you spend your time from your screen │\n│ encrypt secrets │ disabl
activity ed │\n│ retention days │ 1
4 │\n│ retention mode
2026-05-07T21:15:56.220866Z INFO screenpipe_engine::event_d │ media-only (keep transcripts) │\n├─────────────────
riven_capture: content dedup: skipping capture for monitor 2 ───────┼────────────────────────────────────┤\n│ languages
(hash=6913338268963121281, trigger=click) │ │\n│
2026-05-07T21:16:19.271233Z INFO screenpipe_engine::event_d │ all languages │\n├──
riven_capture: content dedup: skipping capture for monitor 1 ──────────────────────┼────────────────────────────────────┤
(hash=6913338268963121281, trigger=click) \n│ monitors │
2026-05-07T21:17:24.638614Z INFO screenpipe_engine::event_d │\n│ │ id: 1
riven_capture: content dedup: skipping capture for monitor 2 │\n│ │ id: 2
(hash=6913338268963121281, trigger=visual_change) │\n├────────────────────────┼─────────────────
2026-05-07T21:17:30.785805Z INFO screenpipe_engine::event_d ───────────────────┤\n│ audio devices │
riven_capture: content dedup: skipping capture for monitor 2 │\n│ │ disabl
(hash=6913338268963121281, trigger=visual_change) ed │\n└────────────────────────┴──
2026-05-07T21:17:33.819916Z INFO screenpipe_engine::event_d ──────────────────────────────────┘\nyou are using local pro
riven_capture: content dedup: skipping capture for monitor 2 cessing. all your data stays on your computer.\n\nwarning: t
(hash=6913338268963121281, trigger=visual_change) elemetry is enabled. only error-level data will be sent.\nto
2026-05-07T21:18:40.291660Z INFO screenpipe_engine::event_d disable, use the --disable-telemetry flag.\n\ncheck latest
riven_capture: content dedup: skipping capture for monitor 2 changes here: https://github.com/screenpipe/screenpipe/relea
(hash=6913338268963121281, trigger=visual_change) ses\n2026-05-08T09:25:45.881961Z INFO screenpipe: starting
2026-05-07T21:18:44.647424Z INFO screenpipe_engine::event_d UI event capture\n2026-05-08T09:25:45.888762Z INFO screenpi
riven_capture: content dedup: skipping capture for monitor 2 pe_engine::power::manager: initial power profile: Performanc
(hash=6913338268963121281, trigger=click) e (on_ac=true, battery=Some(100))\n2026-05-08T09:25:45.89128
2026-05-07T21:18:44.850725Z INFO screenpipe_engine::event_d 6Z WARN screenpipe: pi agent install failed: bun not found
riven_capture: content dedup: skipping capture for monitor 1 — install from https://bun.sh\n2026-05-08T09:25:45.896583Z
(hash=6913338268963121281, trigger=click) INFO screenpipe_engine::ui_recorder: Starting UI event captu
2026-05-07T21:18:46.523321Z INFO screenpipe_engine::event_d re\n2026-05-08T09:25:45.913159Z INFO screenpipe_engine::ui_
riven_capture: content dedup: skipping capture for monitor 2 recorder: UI recording session started: 03da4156-9bc1-4c59-8
(hash=6913338268963121281, trigger=visual_change) 6f8-3b937ccacca2\n2026-05-08T09:25:45.913483Z INFO screenpi
2026-05-07T21:18:49.556444Z INFO screenpipe_engine::event_d pe_engine::calendar_speaker_id: speaker identification: star
riven_capture: content dedup: skipping capture for monitor 2 ted (user_name=<not set>)\n2026-05-08T09:25:45.913512Z INFO
(hash=6913338268963121281, trigger=visual_change) screenpipe_engine::hot_frame_cache: hot_frame_cache: warmin
2026-05-07T21:19:53.705827Z INFO screenpipe_engine::snapsho g from DB (2026-05-07 06:25:45.913511 UTC to 2026-05-08 06:2
t_compaction: snapshot compaction: found 42 eligible frames 5:45.913511 UTC)\n2026-05-08T09:25:45.914574Z INFO screenpi
2026-05-07T21:19:55.056907Z INFO screenpipe_engine::snapsho pe_engine::meeting_detector: meeting v2: detection loop star
t_compaction: snapshot compaction: 20 frames, 3.6MB → 0.9MB ted (base_interval=5s, profiles=12)\n2026-05-08T09:25:45.923
(4.0x), 20 JPEGs deleted 208Z INFO screenpipe_engine::server: Server listening on 12
2026-05-07T21:19:56.759790Z INFO screenpipe_engine::snapsho [IP_ADDRESS]:3030\n2026-05-08T09:25:45.927056Z INFO screenpipe_c
t_compaction: snapshot compaction: 20 frames, 3.9MB → 1.1MB onnect::mdns: mdns: advertising screenpipe on port 3030\n202
(3.4x), 20 JPEGs deleted 6-05-08T09:25:46.310992Z INFO screenpipe_engine::vision_man
ager::manager: Starting vision recording for monitor 1 (1440
tip: install a starter bundle of pipes: x900)\n2026-05-08T09:25:46.311039Z INFO screenpipe_engine::
screenpipe install https://screenpi.pe/start.json vision_manager::manager: Starting event-driven capture for m
onitor 1 (device: monitor_1)\n2026-05-08T09:25:46.311076Z I
2026-05-07T21:20:29.459260Z INFO screenpipe_engine::event_d NFO screenpipe_engine::event_driven_capture: event-driven ca
riven_capture: content dedup: skipping capture for monitor 2 pture started for monitor 1 (device: monitor_1)\n2026-05-08T
(hash=6913338268963121281, trigger=visual_change) 09:25:46.472936Z INFO screenpipe_engine::vision_manager::ma
2026-05-07T21:20:41.532773Z INFO screenpipe_engine::event_d nager: Starting vision recording for monitor 2 (3008x1253)\n
riven_capture: content dedup: skipping capture for monitor 2 2026-05-08T09:25:46.472968Z INFO screenpipe_engine::vision_
(hash=6913338268963121281, trigger=visual_change) manager::manager: Starting event-driven capture for monitor
2026-05-07T21:20:57.170225Z INFO screenpipe_engine::event_d 2 (device: monitor_2)\n2026-05-08T09:25:46.472981Z INFO scr
riven_capture: content dedup: skipping capture for monitor 1 eenpipe_engine::vision_manager::manager: VisionManager start
(hash=6913338268963121281, trigger=click) ed with 2/2 monitor(s)\n2026-05-08T09:25:46.472989Z INFO sc
2026-05-07T21:21:07.150037Z INFO screenpipe_engine::event_d reenpipe_engine::vision_manager::monitor_watcher: Starting m
riven_capture: content dedup: skipping capture for monitor 1 onitor watcher (event-driven via CGDisplayRegisterReconfigur
(hash=6913338268963121281, trigger=click) ationCallback, 60s backstop poll)\n2026-05-08T09:25:46.47301
2026-05-07T21:21:07.320528Z INFO screenpipe_engine::event_d 7Z INFO screenpipe_engine::event_driven_capture: event-driv
riven_capture: content dedup: skipping capture for monitor 2 en capture started for monitor 2 (device: monitor_2)\n2026-0
(hash=6913338268963121281, trigger=click) 5-08T09:25:47.579143Z INFO sck_rs::stream_manager: persiste
2026-05-07T21:21:27.422746Z INFO screenpipe_engine::event_d nt SCK stream started for display 1 (1440x900, 2fps, 2 exclu
riven_capture: content dedup: skipping capture for monitor 2 ded)"}
(hash=6913338268963121281, trigger=visual_change)
2026-05-07T21:22:21.936188Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=6913338268963121281, trigger=click)
2026-05-07T21:22:22.033584Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=6913338268963121281, trigger=click)
2026-05-07T21:22:50.292905Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:16.735984Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:16.914206Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:18.420221Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:18.695513Z INFO screenpipe_engine::event_d ...
|
iTerm2
|
ssh
|
NULL
|
|
D window_name IS NOT NULL\\n\" rows_affected=0 D window_name IS NOT NULL\\n\" rows_affected=0 rows_returned
riven_capture: content dedup: skipping capture for monitor 2 =182 elapsed=1.9089s\n2026-05-07T21:50:34.470706Z INFO scre
(hash=2730807366803551277, trigger=click) enpipe_engine::sleep_monitor: Screen unlocked (CGSession saf
ety-net poll)\n2026-05-07T21:50:34.479630Z INFO screenpipe_
tip: install a starter bundle of pipes: engine::event_driven_capture: invalidating persistent stream
screenpipe install [URL_WITH_CREDENTIALS] record --disable-audio --ignored-windows \"Boostero
2026-05-07T21:01:01.987730Z INFO screenpipe_engine::event_d id\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\
riven_capture: content dedup: skipping capture for monitor 1 ndetected hardware tier: Mid\nwarning: parakeet is not suppo
(hash=2730807366803551277, trigger=click) rted on this platform, using whisper-tiny instead\n2026-05-0
2026-05-07T21:01:19.657174Z INFO screenpipe_engine::event_d 8T09:25:44.404966Z INFO screenpipe_engine::auth_key: api au
riven_capture: content dedup: skipping capture for monitor 2 th: key resolved via secret store\nchecking permissions...\n
(hash=2730807366803551277, trigger=click) screen recording: ok\n accessibility: ok\n2026-05-08T09:2
2026-05-07T21:04:45.665545Z INFO screenpipe_engine::snapsho 5:44.477216Z INFO screenpipe_screen::monitor::macos_version
t_compaction: snapshot compaction: found 24 eligible frames : Detected macOS version: 14.6\n2026-05-08T09:25:45.851716Z
2026-05-07T21:04:46.555243Z INFO screenpipe_engine::snapsho INFO screenpipe_engine::sleep_monitor: Starting macOS sleep
t_compaction: snapshot compaction: 11 frames, 2.4MB → 0.4MB /wake monitor\n2026-05-08T09:25:45.853302Z INFO screenpipe_
(6.5x), 11 JPEGs deleted engine::sleep_monitor: Screen lock/unlock observers register
2026-05-07T21:04:47.505518Z INFO screenpipe_engine::snapsho ed (CFNotificationCenter)\n2026-05-08T09:25:45.853909Z INFO
t_compaction: snapshot compaction: 11 frames, 2.1MB → 0.3MB screenpipe_engine::sleep_monitor: Display reconfiguration w
(6.3x), 11 JPEGs deleted atcher registered (CGDisplayRegisterReconfigurationCallback)
\n2026-05-08T09:25:45.874540Z INFO screenpipe_engine::permi
tip: sign in for higher AI quotas + cloud sync: ssion_monitor: permission monitor started screen=true mic=tr
screenpipe login ue accessibility=true keychain=true\n2026-05-08T09:25:45.874
606Z INFO screenpipe: meeting detector enabled — independen
2026-05-07T21:07:59.390425Z INFO screenpipe_engine::event_d t of transcription mode\n2026-05-08T09:25:45.874891Z INFO s
riven_capture: content dedup: skipping capture for monitor 1 creenpipe: API server listening on [IP_ADDRESS]:3030 (localhost
(hash=2730807366803551277, trigger=click) only)\n2026-05-08T09:25:45.874915Z INFO screenpipe: API au
2026-05-07T21:08:02.049042Z INFO screenpipe_engine::event_d th enabled — run `screenpipe auth token` to view your key\n2
riven_capture: content dedup: skipping capture for monitor 1 026-05-08T09:25:45.874789Z INFO screenpipe_engine::power::m
(hash=2730807366803551277, trigger=click) anager: power manager started (poll interval: 10s)\n2026-05-
2026-05-07T21:08:58.406336Z INFO screenpipe_engine::event_d 08T09:25:45.874931Z INFO screenpipe_engine::vision_manager:
riven_capture: content dedup: skipping capture for monitor 1 :manager: Starting VisionManager\n2026-05-08T09:25:45.874854
(hash=-3190010697038351257, trigger=click) Z INFO screenpipe_engine::snapshot_compaction: snapshot com
2026-05-07T21:08:58.638209Z INFO screenpipe_engine::event_d paction worker started (min_age=600s, poll=300s)\n2026-05-08
riven_capture: content dedup: skipping capture for monitor 2 T09:25:45.877906Z INFO screenpipe_core::pipes: loaded pipe:
(hash=-3190010697038351257, trigger=click) day-recap\n2026-05-08T09:25:45.878202Z INFO screenpipe_cor
2026-05-07T21:09:33.105308Z INFO screenpipe_engine::event_d e::pipes: loaded pipe: standup-update\n2026-05-08T09:25:45.8
riven_capture: content dedup: skipping capture for monitor 2 78737Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\
(hash=2730807366803551277, trigger=click) n2026-05-08T09:25:45.878843Z INFO screenpipe_core::pipes: l
2026-05-07T21:09:47.541287Z INFO screenpipe_engine::snapsho oaded pipe: time-breakdown\n2026-05-08T09:25:45.878921Z INF
t_compaction: snapshot compaction: found 21 eligible frames O screenpipe_core::pipes: loaded pipe: video-export\n2026-05
2026-05-07T21:09:48.491343Z INFO screenpipe_engine::snapsho -08T09:25:45.878997Z INFO screenpipe_core::pipes: loaded pi
t_compaction: snapshot compaction: 10 frames, 2.2MB → 0.4MB pe: meeting-summary\n2026-05-08T09:25:45.879015Z INFO scree
(5.6x), 10 JPEGs deleted npipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.scree
2026-05-07T21:09:49.574479Z INFO screenpipe_engine::snapsho npipe/pipes\"\n\n\n\n
t_compaction: snapshot compaction: 9 frames, 1.8MB → 0.4MB ( _ \n __________________ ___ ____ ____
4.4x), 9 JPEGs deleted (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \
\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ /
tip: get the screenpipe desktop app for the full experienc / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_
e / .___/\\___/ \n /_/ /_/
https://screenpi.pe \n\n\n\npower AI by everything you've seen, said
or heard\nopen source | runs locally | developer friendly\n\
2026-05-07T21:11:18.711785Z INFO screenpipe_engine::event_d n\n┌────────────────────────┬───────────────────────────────
riven_capture: content dedup: skipping capture for monitor 2 ─────┐\n│ setting │ value
(hash=2730807366803551277, trigger=click) │\n├────────────────────────┼─────────────────────
2026-05-07T21:11:43.731627Z INFO screenpipe_engine::event_d ───────────────┤\n│ audio chunk duration │ 30 seconds
riven_capture: content dedup: skipping capture for monitor 2 │\n│ port │ 3030
(hash=-6936887013967671323, trigger=click) │\n│ audio disabled │ true
2026-05-07T21:11:58.569054Z INFO screenpipe_engine::event_d │\n│ vision disabled │
riven_capture: content dedup: skipping capture for monitor 2 false │\n│ pause on DRM content
(hash=-6936887013967671323, trigger=click) │ false │\n│ audio engine
2026-05-07T21:14:49.597611Z INFO screenpipe_engine::snapsho │ Parakeet │\n│ vad engine
t_compaction: snapshot compaction: found 29 eligible frames │ Silero │\n│ data
2026-05-07T21:14:50.698785Z INFO screenpipe_engine::snapsho directory │ /Users/lukas/.screenpipe │\n│
t_compaction: snapshot compaction: 14 frames, 3.1MB → 0.4MB debug mode │ false
(8.0x), 14 JPEGs deleted │\n│ telemetry │ true
2026-05-07T21:14:53.637486Z INFO screenpipe_engine::snapsho │\n│ use pii removal │ true
t_compaction: snapshot compaction: 13 frames, 2.5MB → 0.6MB │\n│ use all monitors │ true
(4.4x), 13 JPEGs deleted │\n2026-05-08T09:25:45.881529Z INFO screenpi
2026-05-07T21:15:02.521080Z INFO screenpipe_engine::event_d pe_core::pipes: pipe scheduler started (generation 2)\n│ ign
riven_capture: content dedup: skipping capture for monitor 1 ored windows │ [\"Boosteroid\"] │
(hash=-6936887013967671323, trigger=click) \n│ included windows │ []
│\n│ cloud sync │ disabled
tip: wire screenpipe into claude with one command: │\n│ auto-destruct pid │ 0
claude mcp add screenpipe -- npx -y screenpipe-mcp │\n│ deepgram key │ not set
then ask claude to build a pipe that tracks who you a │\n│ api auth │ enabled
re, your todos, and how you spend your time from your screen │\n│ encrypt secrets │ disabl
activity ed │\n│ retention days │ 1
4 │\n│ retention mode
2026-05-07T21:15:56.220866Z INFO screenpipe_engine::event_d │ media-only (keep transcripts) │\n├─────────────────
riven_capture: content dedup: skipping capture for monitor 2 ───────┼────────────────────────────────────┤\n│ languages
(hash=6913338268963121281, trigger=click) │ │\n│
2026-05-07T21:16:19.271233Z INFO screenpipe_engine::event_d │ all languages │\n├──
riven_capture: content dedup: skipping capture for monitor 1 ──────────────────────┼────────────────────────────────────┤
(hash=6913338268963121281, trigger=click) \n│ monitors │
2026-05-07T21:17:24.638614Z INFO screenpipe_engine::event_d │\n│ │ id: 1
riven_capture: content dedup: skipping capture for monitor 2 │\n│ │ id: 2
(hash=6913338268963121281, trigger=visual_change) │\n├────────────────────────┼─────────────────
2026-05-07T21:17:30.785805Z INFO screenpipe_engine::event_d ───────────────────┤\n│ audio devices │
riven_capture: content dedup: skipping capture for monitor 2 │\n│ │ disabl
(hash=6913338268963121281, trigger=visual_change) ed │\n└────────────────────────┴──
2026-05-07T21:17:33.819916Z INFO screenpipe_engine::event_d ──────────────────────────────────┘\nyou are using local pro
riven_capture: content dedup: skipping capture for monitor 2 cessing. all your data stays on your computer.\n\nwarning: t
(hash=6913338268963121281, trigger=visual_change) elemetry is enabled. only error-level data will be sent.\nto
2026-05-07T21:18:40.291660Z INFO screenpipe_engine::event_d disable, use the --disable-telemetry flag.\n\ncheck latest
riven_capture: content dedup: skipping capture for monitor 2 changes here: https://github.com/screenpipe/screenpipe/relea
(hash=6913338268963121281, trigger=visual_change) ses\n2026-05-08T09:25:45.881961Z INFO screenpipe: starting
2026-05-07T21:18:44.647424Z INFO screenpipe_engine::event_d UI event capture\n2026-05-08T09:25:45.888762Z INFO screenpi
riven_capture: content dedup: skipping capture for monitor 2 pe_engine::power::manager: initial power profile: Performanc
(hash=6913338268963121281, trigger=click) e (on_ac=true, battery=Some(100))\n2026-05-08T09:25:45.89128
2026-05-07T21:18:44.850725Z INFO screenpipe_engine::event_d 6Z WARN screenpipe: pi agent install failed: bun not found
riven_capture: content dedup: skipping capture for monitor 1 — install from https://bun.sh\n2026-05-08T09:25:45.896583Z
(hash=6913338268963121281, trigger=click) INFO screenpipe_engine::ui_recorder: Starting UI event captu
2026-05-07T21:18:46.523321Z INFO screenpipe_engine::event_d re\n2026-05-08T09:25:45.913159Z INFO screenpipe_engine::ui_
riven_capture: content dedup: skipping capture for monitor 2 recorder: UI recording session started: 03da4156-9bc1-4c59-8
(hash=6913338268963121281, trigger=visual_change) 6f8-3b937ccacca2\n2026-05-08T09:25:45.913483Z INFO screenpi
2026-05-07T21:18:49.556444Z INFO screenpipe_engine::event_d pe_engine::calendar_speaker_id: speaker identification: star
riven_capture: content dedup: skipping capture for monitor 2 ted (user_name=<not set>)\n2026-05-08T09:25:45.913512Z INFO
(hash=6913338268963121281, trigger=visual_change) screenpipe_engine::hot_frame_cache: hot_frame_cache: warmin
2026-05-07T21:19:53.705827Z INFO screenpipe_engine::snapsho g from DB (2026-05-07 06:25:45.913511 UTC to 2026-05-08 06:2
t_compaction: snapshot compaction: found 42 eligible frames 5:45.913511 UTC)\n2026-05-08T09:25:45.914574Z INFO screenpi
2026-05-07T21:19:55.056907Z INFO screenpipe_engine::snapsho pe_engine::meeting_detector: meeting v2: detection loop star
t_compaction: snapshot compaction: 20 frames, 3.6MB → 0.9MB ted (base_interval=5s, profiles=12)\n2026-05-08T09:25:45.923
(4.0x), 20 JPEGs deleted 208Z INFO screenpipe_engine::server: Server listening on 12
2026-05-07T21:19:56.759790Z INFO screenpipe_engine::snapsho [IP_ADDRESS]:3030\n2026-05-08T09:25:45.927056Z INFO screenpipe_c
t_compaction: snapshot compaction: 20 frames, 3.9MB → 1.1MB onnect::mdns: mdns: advertising screenpipe on port 3030\n202
(3.4x), 20 JPEGs deleted 6-05-08T09:25:46.310992Z INFO screenpipe_engine::vision_man
ager::manager: Starting vision recording for monitor 1 (1440
tip: install a starter bundle of pipes: x900)\n2026-05-08T09:25:46.311039Z INFO screenpipe_engine::
screenpipe install https://screenpi.pe/start.json vision_manager::manager: Starting event-driven capture for m
onitor 1 (device: monitor_1)\n2026-05-08T09:25:46.311076Z I
2026-05-07T21:20:29.459260Z INFO screenpipe_engine::event_d NFO screenpipe_engine::event_driven_capture: event-driven ca
riven_capture: content dedup: skipping capture for monitor 2 pture started for monitor 1 (device: monitor_1)\n2026-05-08T
(hash=6913338268963121281, trigger=visual_change) 09:25:46.472936Z INFO screenpipe_engine::vision_manager::ma
2026-05-07T21:20:41.532773Z INFO screenpipe_engine::event_d nager: Starting vision recording for monitor 2 (3008x1253)\n
riven_capture: content dedup: skipping capture for monitor 2 2026-05-08T09:25:46.472968Z INFO screenpipe_engine::vision_
(hash=6913338268963121281, trigger=visual_change) manager::manager: Starting event-driven capture for monitor
2026-05-07T21:20:57.170225Z INFO screenpipe_engine::event_d 2 (device: monitor_2)\n2026-05-08T09:25:46.472981Z INFO scr
riven_capture: content dedup: skipping capture for monitor 1 eenpipe_engine::vision_manager::manager: VisionManager start
(hash=6913338268963121281, trigger=click) ed with 2/2 monitor(s)\n2026-05-08T09:25:46.472989Z INFO sc
2026-05-07T21:21:07.150037Z INFO screenpipe_engine::event_d reenpipe_engine::vision_manager::monitor_watcher: Starting m
riven_capture: content dedup: skipping capture for monitor 1 onitor watcher (event-driven via CGDisplayRegisterReconfigur
(hash=6913338268963121281, trigger=click) ationCallback, 60s backstop poll)\n2026-05-08T09:25:46.47301
2026-05-07T21:21:07.320528Z INFO screenpipe_engine::event_d 7Z INFO screenpipe_engine::event_driven_capture: event-driv
riven_capture: content dedup: skipping capture for monitor 2 en capture started for monitor 2 (device: monitor_2)\n2026-0
(hash=6913338268963121281, trigger=click) 5-08T09:25:47.579143Z INFO sck_rs::stream_manager: persiste
2026-05-07T21:21:27.422746Z INFO screenpipe_engine::event_d nt SCK stream started for display 1 (1440x900, 2fps, 2 exclu
riven_capture: content dedup: skipping capture for monitor 2 ded)"}
(hash=6913338268963121281, trigger=visual_change)
2026-05-07T21:22:21.936188Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=6913338268963121281, trigger=click)
2026-05-07T21:22:22.033584Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=6913338268963121281, trigger=click)
2026-05-07T21:22:50.292905Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:16.735984Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:16.914206Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:18.420221Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:18.695513Z INFO screenpipe_engine::event_d ...
|
iTerm2
|
ssh
|
NULL
|
|
D window_name IS NOT NULL\\n\" rows_affected=0 D window_name IS NOT NULL\\n\" rows_affected=0 rows_returned
riven_capture: content dedup: skipping capture for monitor 2 =182 elapsed=1.9089s\n2026-05-07T21:50:34.470706Z INFO scre
(hash=2730807366803551277, trigger=click) enpipe_engine::sleep_monitor: Screen unlocked (CGSession saf
ety-net poll)\n2026-05-07T21:50:34.479630Z INFO screenpipe_
tip: install a starter bundle of pipes: engine::event_driven_capture: invalidating persistent stream
screenpipe install [URL_WITH_CREDENTIALS] record --disable-audio --ignored-windows \"Boostero
2026-05-07T21:01:01.987730Z INFO screenpipe_engine::event_d id\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\
riven_capture: content dedup: skipping capture for monitor 1 ndetected hardware tier: Mid\nwarning: parakeet is not suppo
(hash=2730807366803551277, trigger=click) rted on this platform, using whisper-tiny instead\n2026-05-0
2026-05-07T21:01:19.657174Z INFO screenpipe_engine::event_d 8T09:25:44.404966Z INFO screenpipe_engine::auth_key: api au
riven_capture: content dedup: skipping capture for monitor 2 th: key resolved via secret store\nchecking permissions...\n
(hash=2730807366803551277, trigger=click) screen recording: ok\n accessibility: ok\n2026-05-08T09:2
2026-05-07T21:04:45.665545Z INFO screenpipe_engine::snapsho 5:44.477216Z INFO screenpipe_screen::monitor::macos_version
t_compaction: snapshot compaction: found 24 eligible frames : Detected macOS version: 14.6\n2026-05-08T09:25:45.851716Z
2026-05-07T21:04:46.555243Z INFO screenpipe_engine::snapsho INFO screenpipe_engine::sleep_monitor: Starting macOS sleep
t_compaction: snapshot compaction: 11 frames, 2.4MB → 0.4MB /wake monitor\n2026-05-08T09:25:45.853302Z INFO screenpipe_
(6.5x), 11 JPEGs deleted engine::sleep_monitor: Screen lock/unlock observers register
2026-05-07T21:04:47.505518Z INFO screenpipe_engine::snapsho ed (CFNotificationCenter)\n2026-05-08T09:25:45.853909Z INFO
t_compaction: snapshot compaction: 11 frames, 2.1MB → 0.3MB screenpipe_engine::sleep_monitor: Display reconfiguration w
(6.3x), 11 JPEGs deleted atcher registered (CGDisplayRegisterReconfigurationCallback)
\n2026-05-08T09:25:45.874540Z INFO screenpipe_engine::permi
tip: sign in for higher AI quotas + cloud sync: ssion_monitor: permission monitor started screen=true mic=tr
screenpipe login ue accessibility=true keychain=true\n2026-05-08T09:25:45.874
606Z INFO screenpipe: meeting detector enabled — independen
2026-05-07T21:07:59.390425Z INFO screenpipe_engine::event_d t of transcription mode\n2026-05-08T09:25:45.874891Z INFO s
riven_capture: content dedup: skipping capture for monitor 1 creenpipe: API server listening on [IP_ADDRESS]:3030 (localhost
(hash=2730807366803551277, trigger=click) only)\n2026-05-08T09:25:45.874915Z INFO screenpipe: API au
2026-05-07T21:08:02.049042Z INFO screenpipe_engine::event_d th enabled — run `screenpipe auth token` to view your key\n2
riven_capture: content dedup: skipping capture for monitor 1 026-05-08T09:25:45.874789Z INFO screenpipe_engine::power::m
(hash=2730807366803551277, trigger=click) anager: power manager started (poll interval: 10s)\n2026-05-
2026-05-07T21:08:58.406336Z INFO screenpipe_engine::event_d 08T09:25:45.874931Z INFO screenpipe_engine::vision_manager:
riven_capture: content dedup: skipping capture for monitor 1 :manager: Starting VisionManager\n2026-05-08T09:25:45.874854
(hash=-3190010697038351257, trigger=click) Z INFO screenpipe_engine::snapshot_compaction: snapshot com
2026-05-07T21:08:58.638209Z INFO screenpipe_engine::event_d paction worker started (min_age=600s, poll=300s)\n2026-05-08
riven_capture: content dedup: skipping capture for monitor 2 T09:25:45.877906Z INFO screenpipe_core::pipes: loaded pipe:
(hash=-3190010697038351257, trigger=click) day-recap\n2026-05-08T09:25:45.878202Z INFO screenpipe_cor
2026-05-07T21:09:33.105308Z INFO screenpipe_engine::event_d e::pipes: loaded pipe: standup-update\n2026-05-08T09:25:45.8
riven_capture: content dedup: skipping capture for monitor 2 78737Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\
(hash=2730807366803551277, trigger=click) n2026-05-08T09:25:45.878843Z INFO screenpipe_core::pipes: l
2026-05-07T21:09:47.541287Z INFO screenpipe_engine::snapsho oaded pipe: time-breakdown\n2026-05-08T09:25:45.878921Z INF
t_compaction: snapshot compaction: found 21 eligible frames O screenpipe_core::pipes: loaded pipe: video-export\n2026-05
2026-05-07T21:09:48.491343Z INFO screenpipe_engine::snapsho -08T09:25:45.878997Z INFO screenpipe_core::pipes: loaded pi
t_compaction: snapshot compaction: 10 frames, 2.2MB → 0.4MB pe: meeting-summary\n2026-05-08T09:25:45.879015Z INFO scree
(5.6x), 10 JPEGs deleted npipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.scree
2026-05-07T21:09:49.574479Z INFO screenpipe_engine::snapsho npipe/pipes\"\n\n\n\n
t_compaction: snapshot compaction: 9 frames, 1.8MB → 0.4MB ( _ \n __________________ ___ ____ ____
4.4x), 9 JPEGs deleted (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \
\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ /
tip: get the screenpipe desktop app for the full experienc / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_
e / .___/\\___/ \n /_/ /_/
https://screenpi.pe \n\n\n\npower AI by everything you've seen, said
or heard\nopen source | runs locally | developer friendly\n\
2026-05-07T21:11:18.711785Z INFO screenpipe_engine::event_d n\n┌────────────────────────┬───────────────────────────────
riven_capture: content dedup: skipping capture for monitor 2 ─────┐\n│ setting │ value
(hash=2730807366803551277, trigger=click) │\n├────────────────────────┼─────────────────────
2026-05-07T21:11:43.731627Z INFO screenpipe_engine::event_d ───────────────┤\n│ audio chunk duration │ 30 seconds
riven_capture: content dedup: skipping capture for monitor 2 │\n│ port │ 3030
(hash=-6936887013967671323, trigger=click) │\n│ audio disabled │ true
2026-05-07T21:11:58.569054Z INFO screenpipe_engine::event_d │\n│ vision disabled │
riven_capture: content dedup: skipping capture for monitor 2 false │\n│ pause on DRM content
(hash=-6936887013967671323, trigger=click) │ false │\n│ audio engine
2026-05-07T21:14:49.597611Z INFO screenpipe_engine::snapsho │ Parakeet │\n│ vad engine
t_compaction: snapshot compaction: found 29 eligible frames │ Silero │\n│ data
2026-05-07T21:14:50.698785Z INFO screenpipe_engine::snapsho directory │ /Users/lukas/.screenpipe │\n│
t_compaction: snapshot compaction: 14 frames, 3.1MB → 0.4MB debug mode │ false
(8.0x), 14 JPEGs deleted │\n│ telemetry │ true
2026-05-07T21:14:53.637486Z INFO screenpipe_engine::snapsho │\n│ use pii removal │ true
t_compaction: snapshot compaction: 13 frames, 2.5MB → 0.6MB │\n│ use all monitors │ true
(4.4x), 13 JPEGs deleted │\n2026-05-08T09:25:45.881529Z INFO screenpi
2026-05-07T21:15:02.521080Z INFO screenpipe_engine::event_d pe_core::pipes: pipe scheduler started (generation 2)\n│ ign
riven_capture: content dedup: skipping capture for monitor 1 ored windows │ [\"Boosteroid\"] │
(hash=-6936887013967671323, trigger=click) \n│ included windows │ []
│\n│ cloud sync │ disabled
tip: wire screenpipe into claude with one command: │\n│ auto-destruct pid │ 0
claude mcp add screenpipe -- npx -y screenpipe-mcp │\n│ deepgram key │ not set
then ask claude to build a pipe that tracks who you a │\n│ api auth │ enabled
re, your todos, and how you spend your time from your screen │\n│ encrypt secrets │ disabl
activity ed │\n│ retention days │ 1
4 │\n│ retention mode
2026-05-07T21:15:56.220866Z INFO screenpipe_engine::event_d │ media-only (keep transcripts) │\n├─────────────────
riven_capture: content dedup: skipping capture for monitor 2 ───────┼────────────────────────────────────┤\n│ languages
(hash=6913338268963121281, trigger=click) │ │\n│
2026-05-07T21:16:19.271233Z INFO screenpipe_engine::event_d │ all languages │\n├──
riven_capture: content dedup: skipping capture for monitor 1 ──────────────────────┼────────────────────────────────────┤
(hash=6913338268963121281, trigger=click) \n│ monitors │
2026-05-07T21:17:24.638614Z INFO screenpipe_engine::event_d │\n│ │ id: 1
riven_capture: content dedup: skipping capture for monitor 2 │\n│ │ id: 2
(hash=6913338268963121281, trigger=visual_change) │\n├────────────────────────┼─────────────────
2026-05-07T21:17:30.785805Z INFO screenpipe_engine::event_d ───────────────────┤\n│ audio devices │
riven_capture: content dedup: skipping capture for monitor 2 │\n│ │ disabl
(hash=6913338268963121281, trigger=visual_change) ed │\n└────────────────────────┴──
2026-05-07T21:17:33.819916Z INFO screenpipe_engine::event_d ──────────────────────────────────┘\nyou are using local pro
riven_capture: content dedup: skipping capture for monitor 2 cessing. all your data stays on your computer.\n\nwarning: t
(hash=6913338268963121281, trigger=visual_change) elemetry is enabled. only error-level data will be sent.\nto
2026-05-07T21:18:40.291660Z INFO screenpipe_engine::event_d disable, use the --disable-telemetry flag.\n\ncheck latest
riven_capture: content dedup: skipping capture for monitor 2 changes here: https://github.com/screenpipe/screenpipe/relea
(hash=6913338268963121281, trigger=visual_change) ses\n2026-05-08T09:25:45.881961Z INFO screenpipe: starting
2026-05-07T21:18:44.647424Z INFO screenpipe_engine::event_d UI event capture\n2026-05-08T09:25:45.888762Z INFO screenpi
riven_capture: content dedup: skipping capture for monitor 2 pe_engine::power::manager: initial power profile: Performanc
(hash=6913338268963121281, trigger=click) e (on_ac=true, battery=Some(100))\n2026-05-08T09:25:45.89128
2026-05-07T21:18:44.850725Z INFO screenpipe_engine::event_d 6Z WARN screenpipe: pi agent install failed: bun not found
riven_capture: content dedup: skipping capture for monitor 1 — install from https://bun.sh\n2026-05-08T09:25:45.896583Z
(hash=6913338268963121281, trigger=click) INFO screenpipe_engine::ui_recorder: Starting UI event captu
2026-05-07T21:18:46.523321Z INFO screenpipe_engine::event_d re\n2026-05-08T09:25:45.913159Z INFO screenpipe_engine::ui_
riven_capture: content dedup: skipping capture for monitor 2 recorder: UI recording session started: 03da4156-9bc1-4c59-8
(hash=6913338268963121281, trigger=visual_change) 6f8-3b937ccacca2\n2026-05-08T09:25:45.913483Z INFO screenpi
2026-05-07T21:18:49.556444Z INFO screenpipe_engine::event_d pe_engine::calendar_speaker_id: speaker identification: star
riven_capture: content dedup: skipping capture for monitor 2 ted (user_name=<not set>)\n2026-05-08T09:25:45.913512Z INFO
(hash=6913338268963121281, trigger=visual_change) screenpipe_engine::hot_frame_cache: hot_frame_cache: warmin
2026-05-07T21:19:53.705827Z INFO screenpipe_engine::snapsho g from DB (2026-05-07 06:25:45.913511 UTC to 2026-05-08 06:2
t_compaction: snapshot compaction: found 42 eligible frames 5:45.913511 UTC)\n2026-05-08T09:25:45.914574Z INFO screenpi
2026-05-07T21:19:55.056907Z INFO screenpipe_engine::snapsho pe_engine::meeting_detector: meeting v2: detection loop star
t_compaction: snapshot compaction: 20 frames, 3.6MB → 0.9MB ted (base_interval=5s, profiles=12)\n2026-05-08T09:25:45.923
(4.0x), 20 JPEGs deleted 208Z INFO screenpipe_engine::server: Server listening on 12
2026-05-07T21:19:56.759790Z INFO screenpipe_engine::snapsho [IP_ADDRESS]:3030\n2026-05-08T09:25:45.927056Z INFO screenpipe_c
t_compaction: snapshot compaction: 20 frames, 3.9MB → 1.1MB onnect::mdns: mdns: advertising screenpipe on port 3030\n202
(3.4x), 20 JPEGs deleted 6-05-08T09:25:46.310992Z INFO screenpipe_engine::vision_man
ager::manager: Starting vision recording for monitor 1 (1440
tip: install a starter bundle of pipes: x900)\n2026-05-08T09:25:46.311039Z INFO screenpipe_engine::
screenpipe install https://screenpi.pe/start.json vision_manager::manager: Starting event-driven capture for m
onitor 1 (device: monitor_1)\n2026-05-08T09:25:46.311076Z I
2026-05-07T21:20:29.459260Z INFO screenpipe_engine::event_d NFO screenpipe_engine::event_driven_capture: event-driven ca
riven_capture: content dedup: skipping capture for monitor 2 pture started for monitor 1 (device: monitor_1)\n2026-05-08T
(hash=6913338268963121281, trigger=visual_change) 09:25:46.472936Z INFO screenpipe_engine::vision_manager::ma
2026-05-07T21:20:41.532773Z INFO screenpipe_engine::event_d nager: Starting vision recording for monitor 2 (3008x1253)\n
riven_capture: content dedup: skipping capture for monitor 2 2026-05-08T09:25:46.472968Z INFO screenpipe_engine::vision_
(hash=6913338268963121281, trigger=visual_change) manager::manager: Starting event-driven capture for monitor
2026-05-07T21:20:57.170225Z INFO screenpipe_engine::event_d 2 (device: monitor_2)\n2026-05-08T09:25:46.472981Z INFO scr
riven_capture: content dedup: skipping capture for monitor 1 eenpipe_engine::vision_manager::manager: VisionManager start
(hash=6913338268963121281, trigger=click) ed with 2/2 monitor(s)\n2026-05-08T09:25:46.472989Z INFO sc
2026-05-07T21:21:07.150037Z INFO screenpipe_engine::event_d reenpipe_engine::vision_manager::monitor_watcher: Starting m
riven_capture: content dedup: skipping capture for monitor 1 onitor watcher (event-driven via CGDisplayRegisterReconfigur
(hash=6913338268963121281, trigger=click) ationCallback, 60s backstop poll)\n2026-05-08T09:25:46.47301
2026-05-07T21:21:07.320528Z INFO screenpipe_engine::event_d 7Z INFO screenpipe_engine::event_driven_capture: event-driv
riven_capture: content dedup: skipping capture for monitor 2 en capture started for monitor 2 (device: monitor_2)\n2026-0
(hash=6913338268963121281, trigger=click) 5-08T09:25:47.579143Z INFO sck_rs::stream_manager: persiste
2026-05-07T21:21:27.422746Z INFO screenpipe_engine::event_d nt SCK stream started for display 1 (1440x900, 2fps, 2 exclu
riven_capture: content dedup: skipping capture for monitor 2 ded)"}
(hash=6913338268963121281, trigger=visual_change)
2026-05-07T21:22:21.936188Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=6913338268963121281, trigger=click)
2026-05-07T21:22:22.033584Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=6913338268963121281, trigger=click)
2026-05-07T21:22:50.292905Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:16.735984Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:16.914206Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:18.420221Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:18.695513Z INFO screenpipe_engine::event_d ...
|
iTerm2
|
ssh
|
NULL
|
|
D window_name IS NOT NULL\\n\" rows_affected=0 D window_name IS NOT NULL\\n\" rows_affected=0 rows_returned
riven_capture: content dedup: skipping capture for monitor 2 =182 elapsed=1.9089s\n2026-05-07T21:50:34.470706Z INFO scre
(hash=2730807366803551277, trigger=click) enpipe_engine::sleep_monitor: Screen unlocked (CGSession saf
ety-net poll)\n2026-05-07T21:50:34.479630Z INFO screenpipe_
tip: install a starter bundle of pipes: engine::event_driven_capture: invalidating persistent stream
screenpipe install [URL_WITH_CREDENTIALS] record --disable-audio --ignored-windows \"Boostero
2026-05-07T21:01:01.987730Z INFO screenpipe_engine::event_d id\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\
riven_capture: content dedup: skipping capture for monitor 1 ndetected hardware tier: Mid\nwarning: parakeet is not suppo
(hash=2730807366803551277, trigger=click) rted on this platform, using whisper-tiny instead\n2026-05-0
2026-05-07T21:01:19.657174Z INFO screenpipe_engine::event_d 8T09:25:44.404966Z INFO screenpipe_engine::auth_key: api au
riven_capture: content dedup: skipping capture for monitor 2 th: key resolved via secret store\nchecking permissions...\n
(hash=2730807366803551277, trigger=click) screen recording: ok\n accessibility: ok\n2026-05-08T09:2
2026-05-07T21:04:45.665545Z INFO screenpipe_engine::snapsho 5:44.477216Z INFO screenpipe_screen::monitor::macos_version
t_compaction: snapshot compaction: found 24 eligible frames : Detected macOS version: 14.6\n2026-05-08T09:25:45.851716Z
2026-05-07T21:04:46.555243Z INFO screenpipe_engine::snapsho INFO screenpipe_engine::sleep_monitor: Starting macOS sleep
t_compaction: snapshot compaction: 11 frames, 2.4MB → 0.4MB /wake monitor\n2026-05-08T09:25:45.853302Z INFO screenpipe_
(6.5x), 11 JPEGs deleted engine::sleep_monitor: Screen lock/unlock observers register
2026-05-07T21:04:47.505518Z INFO screenpipe_engine::snapsho ed (CFNotificationCenter)\n2026-05-08T09:25:45.853909Z INFO
t_compaction: snapshot compaction: 11 frames, 2.1MB → 0.3MB screenpipe_engine::sleep_monitor: Display reconfiguration w
(6.3x), 11 JPEGs deleted atcher registered (CGDisplayRegisterReconfigurationCallback)
\n2026-05-08T09:25:45.874540Z INFO screenpipe_engine::permi
tip: sign in for higher AI quotas + cloud sync: ssion_monitor: permission monitor started screen=true mic=tr
screenpipe login ue accessibility=true keychain=true\n2026-05-08T09:25:45.874
606Z INFO screenpipe: meeting detector enabled — independen
2026-05-07T21:07:59.390425Z INFO screenpipe_engine::event_d t of transcription mode\n2026-05-08T09:25:45.874891Z INFO s
riven_capture: content dedup: skipping capture for monitor 1 creenpipe: API server listening on [IP_ADDRESS]:3030 (localhost
(hash=2730807366803551277, trigger=click) only)\n2026-05-08T09:25:45.874915Z INFO screenpipe: API au
2026-05-07T21:08:02.049042Z INFO screenpipe_engine::event_d th enabled — run `screenpipe auth token` to view your key\n2
riven_capture: content dedup: skipping capture for monitor 1 026-05-08T09:25:45.874789Z INFO screenpipe_engine::power::m
(hash=2730807366803551277, trigger=click) anager: power manager started (poll interval: 10s)\n2026-05-
2026-05-07T21:08:58.406336Z INFO screenpipe_engine::event_d 08T09:25:45.874931Z INFO screenpipe_engine::vision_manager:
riven_capture: content dedup: skipping capture for monitor 1 :manager: Starting VisionManager\n2026-05-08T09:25:45.874854
(hash=-3190010697038351257, trigger=click) Z INFO screenpipe_engine::snapshot_compaction: snapshot com
2026-05-07T21:08:58.638209Z INFO screenpipe_engine::event_d paction worker started (min_age=600s, poll=300s)\n2026-05-08
riven_capture: content dedup: skipping capture for monitor 2 T09:25:45.877906Z INFO screenpipe_core::pipes: loaded pipe:
(hash=-3190010697038351257, trigger=click) day-recap\n2026-05-08T09:25:45.878202Z INFO screenpipe_cor
2026-05-07T21:09:33.105308Z INFO screenpipe_engine::event_d e::pipes: loaded pipe: standup-update\n2026-05-08T09:25:45.8
riven_capture: content dedup: skipping capture for monitor 2 78737Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\
(hash=2730807366803551277, trigger=click) n2026-05-08T09:25:45.878843Z INFO screenpipe_core::pipes: l
2026-05-07T21:09:47.541287Z INFO screenpipe_engine::snapsho oaded pipe: time-breakdown\n2026-05-08T09:25:45.878921Z INF
t_compaction: snapshot compaction: found 21 eligible frames O screenpipe_core::pipes: loaded pipe: video-export\n2026-05
2026-05-07T21:09:48.491343Z INFO screenpipe_engine::snapsho -08T09:25:45.878997Z INFO screenpipe_core::pipes: loaded pi
t_compaction: snapshot compaction: 10 frames, 2.2MB → 0.4MB pe: meeting-summary\n2026-05-08T09:25:45.879015Z INFO scree
(5.6x), 10 JPEGs deleted npipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.scree
2026-05-07T21:09:49.574479Z INFO screenpipe_engine::snapsho npipe/pipes\"\n\n\n\n
t_compaction: snapshot compaction: 9 frames, 1.8MB → 0.4MB ( _ \n __________________ ___ ____ ____
4.4x), 9 JPEGs deleted (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \
\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ /
tip: get the screenpipe desktop app for the full experienc / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_
e / .___/\\___/ \n /_/ /_/
https://screenpi.pe \n\n\n\npower AI by everything you've seen, said
or heard\nopen source | runs locally | developer friendly\n\
2026-05-07T21:11:18.711785Z INFO screenpipe_engine::event_d n\n┌────────────────────────┬───────────────────────────────
riven_capture: content dedup: skipping capture for monitor 2 ─────┐\n│ setting │ value
(hash=2730807366803551277, trigger=click) │\n├────────────────────────┼─────────────────────
2026-05-07T21:11:43.731627Z INFO screenpipe_engine::event_d ───────────────┤\n│ audio chunk duration │ 30 seconds
riven_capture: content dedup: skipping capture for monitor 2 │\n│ port │ 3030
(hash=-6936887013967671323, trigger=click) │\n│ audio disabled │ true
2026-05-07T21:11:58.569054Z INFO screenpipe_engine::event_d │\n│ vision disabled │
riven_capture: content dedup: skipping capture for monitor 2 false │\n│ pause on DRM content
(hash=-6936887013967671323, trigger=click) │ false │\n│ audio engine
2026-05-07T21:14:49.597611Z INFO screenpipe_engine::snapsho │ Parakeet │\n│ vad engine
t_compaction: snapshot compaction: found 29 eligible frames │ Silero │\n│ data
2026-05-07T21:14:50.698785Z INFO screenpipe_engine::snapsho directory │ /Users/lukas/.screenpipe │\n│
t_compaction: snapshot compaction: 14 frames, 3.1MB → 0.4MB debug mode │ false
(8.0x), 14 JPEGs deleted │\n│ telemetry │ true
2026-05-07T21:14:53.637486Z INFO screenpipe_engine::snapsho │\n│ use pii removal │ true
t_compaction: snapshot compaction: 13 frames, 2.5MB → 0.6MB │\n│ use all monitors │ true
(4.4x), 13 JPEGs deleted │\n2026-05-08T09:25:45.881529Z INFO screenpi
2026-05-07T21:15:02.521080Z INFO screenpipe_engine::event_d pe_core::pipes: pipe scheduler started (generation 2)\n│ ign
riven_capture: content dedup: skipping capture for monitor 1 ored windows │ [\"Boosteroid\"] │
(hash=-6936887013967671323, trigger=click) \n│ included windows │ []
│\n│ cloud sync │ disabled
tip: wire screenpipe into claude with one command: │\n│ auto-destruct pid │ 0
claude mcp add screenpipe -- npx -y screenpipe-mcp │\n│ deepgram key │ not set
then ask claude to build a pipe that tracks who you a │\n│ api auth │ enabled
re, your todos, and how you spend your time from your screen │\n│ encrypt secrets │ disabl
activity ed │\n│ retention days │ 1
4 │\n│ retention mode
2026-05-07T21:15:56.220866Z INFO screenpipe_engine::event_d │ media-only (keep transcripts) │\n├─────────────────
riven_capture: content dedup: skipping capture for monitor 2 ───────┼────────────────────────────────────┤\n│ languages
(hash=6913338268963121281, trigger=click) │ │\n│
2026-05-07T21:16:19.271233Z INFO screenpipe_engine::event_d │ all languages │\n├──
riven_capture: content dedup: skipping capture for monitor 1 ──────────────────────┼────────────────────────────────────┤
(hash=6913338268963121281, trigger=click) \n│ monitors │
2026-05-07T21:17:24.638614Z INFO screenpipe_engine::event_d │\n│ │ id: 1
riven_capture: content dedup: skipping capture for monitor 2 │\n│ │ id: 2
(hash=6913338268963121281, trigger=visual_change) │\n├────────────────────────┼─────────────────
2026-05-07T21:17:30.785805Z INFO screenpipe_engine::event_d ───────────────────┤\n│ audio devices │
riven_capture: content dedup: skipping capture for monitor 2 │\n│ │ disabl
(hash=6913338268963121281, trigger=visual_change) ed │\n└────────────────────────┴──
2026-05-07T21:17:33.819916Z INFO screenpipe_engine::event_d ──────────────────────────────────┘\nyou are using local pro
riven_capture: content dedup: skipping capture for monitor 2 cessing. all your data stays on your computer.\n\nwarning: t
(hash=6913338268963121281, trigger=visual_change) elemetry is enabled. only error-level data will be sent.\nto
2026-05-07T21:18:40.291660Z INFO screenpipe_engine::event_d disable, use the --disable-telemetry flag.\n\ncheck latest
riven_capture: content dedup: skipping capture for monitor 2 changes here: https://github.com/screenpipe/screenpipe/relea
(hash=6913338268963121281, trigger=visual_change) ses\n2026-05-08T09:25:45.881961Z INFO screenpipe: starting
2026-05-07T21:18:44.647424Z INFO screenpipe_engine::event_d UI event capture\n2026-05-08T09:25:45.888762Z INFO screenpi
riven_capture: content dedup: skipping capture for monitor 2 pe_engine::power::manager: initial power profile: Performanc
(hash=6913338268963121281, trigger=click) e (on_ac=true, battery=Some(100))\n2026-05-08T09:25:45.89128
2026-05-07T21:18:44.850725Z INFO screenpipe_engine::event_d 6Z WARN screenpipe: pi agent install failed: bun not found
riven_capture: content dedup: skipping capture for monitor 1 — install from https://bun.sh\n2026-05-08T09:25:45.896583Z
(hash=6913338268963121281, trigger=click) INFO screenpipe_engine::ui_recorder: Starting UI event captu
2026-05-07T21:18:46.523321Z INFO screenpipe_engine::event_d re\n2026-05-08T09:25:45.913159Z INFO screenpipe_engine::ui_
riven_capture: content dedup: skipping capture for monitor 2 recorder: UI recording session started: 03da4156-9bc1-4c59-8
(hash=6913338268963121281, trigger=visual_change) 6f8-3b937ccacca2\n2026-05-08T09:25:45.913483Z INFO screenpi
2026-05-07T21:18:49.556444Z INFO screenpipe_engine::event_d pe_engine::calendar_speaker_id: speaker identification: star
riven_capture: content dedup: skipping capture for monitor 2 ted (user_name=<not set>)\n2026-05-08T09:25:45.913512Z INFO
(hash=6913338268963121281, trigger=visual_change) screenpipe_engine::hot_frame_cache: hot_frame_cache: warmin
2026-05-07T21:19:53.705827Z INFO screenpipe_engine::snapsho g from DB (2026-05-07 06:25:45.913511 UTC to 2026-05-08 06:2
t_compaction: snapshot compaction: found 42 eligible frames 5:45.913511 UTC)\n2026-05-08T09:25:45.914574Z INFO screenpi
2026-05-07T21:19:55.056907Z INFO screenpipe_engine::snapsho pe_engine::meeting_detector: meeting v2: detection loop star
t_compaction: snapshot compaction: 20 frames, 3.6MB → 0.9MB ted (base_interval=5s, profiles=12)\n2026-05-08T09:25:45.923
(4.0x), 20 JPEGs deleted 208Z INFO screenpipe_engine::server: Server listening on 12
2026-05-07T21:19:56.759790Z INFO screenpipe_engine::snapsho [IP_ADDRESS]:3030\n2026-05-08T09:25:45.927056Z INFO screenpipe_c
t_compaction: snapshot compaction: 20 frames, 3.9MB → 1.1MB onnect::mdns: mdns: advertising screenpipe on port 3030\n202
(3.4x), 20 JPEGs deleted 6-05-08T09:25:46.310992Z INFO screenpipe_engine::vision_man
ager::manager: Starting vision recording for monitor 1 (1440
tip: install a starter bundle of pipes: x900)\n2026-05-08T09:25:46.311039Z INFO screenpipe_engine::
screenpipe install https://screenpi.pe/start.json vision_manager::manager: Starting event-driven capture for m
onitor 1 (device: monitor_1)\n2026-05-08T09:25:46.311076Z I
2026-05-07T21:20:29.459260Z INFO screenpipe_engine::event_d NFO screenpipe_engine::event_driven_capture: event-driven ca
riven_capture: content dedup: skipping capture for monitor 2 pture started for monitor 1 (device: monitor_1)\n2026-05-08T
(hash=6913338268963121281, trigger=visual_change) 09:25:46.472936Z INFO screenpipe_engine::vision_manager::ma
2026-05-07T21:20:41.532773Z INFO screenpipe_engine::event_d nager: Starting vision recording for monitor 2 (3008x1253)\n
riven_capture: content dedup: skipping capture for monitor 2 2026-05-08T09:25:46.472968Z INFO screenpipe_engine::vision_
(hash=6913338268963121281, trigger=visual_change) manager::manager: Starting event-driven capture for monitor
2026-05-07T21:20:57.170225Z INFO screenpipe_engine::event_d 2 (device: monitor_2)\n2026-05-08T09:25:46.472981Z INFO scr
riven_capture: content dedup: skipping capture for monitor 1 eenpipe_engine::vision_manager::manager: VisionManager start
(hash=6913338268963121281, trigger=click) ed with 2/2 monitor(s)\n2026-05-08T09:25:46.472989Z INFO sc
2026-05-07T21:21:07.150037Z INFO screenpipe_engine::event_d reenpipe_engine::vision_manager::monitor_watcher: Starting m
riven_capture: content dedup: skipping capture for monitor 1 onitor watcher (event-driven via CGDisplayRegisterReconfigur
(hash=6913338268963121281, trigger=click) ationCallback, 60s backstop poll)\n2026-05-08T09:25:46.47301
2026-05-07T21:21:07.320528Z INFO screenpipe_engine::event_d 7Z INFO screenpipe_engine::event_driven_capture: event-driv
riven_capture: content dedup: skipping capture for monitor 2 en capture started for monitor 2 (device: monitor_2)\n2026-0
(hash=6913338268963121281, trigger=click) 5-08T09:25:47.579143Z INFO sck_rs::stream_manager: persiste
2026-05-07T21:21:27.422746Z INFO screenpipe_engine::event_d nt SCK stream started for display 1 (1440x900, 2fps, 2 exclu
riven_capture: content dedup: skipping capture for monitor 2 ded)"}
(hash=6913338268963121281, trigger=visual_change)
2026-05-07T21:22:21.936188Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=6913338268963121281, trigger=click)
2026-05-07T21:22:22.033584Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=6913338268963121281, trigger=click)
2026-05-07T21:22:50.292905Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:16.735984Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:16.914206Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:18.420221Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:18.695513Z INFO screenpipe_engine::event_d ...
|
iTerm2
|
ssh
|
NULL
|
|
D window_name IS NOT NULL\\n\" rows_affected=0 D window_name IS NOT NULL\\n\" rows_affected=0 rows_returned
riven_capture: content dedup: skipping capture for monitor 2 =182 elapsed=1.9089s\n2026-05-07T21:50:34.470706Z INFO scre
(hash=2730807366803551277, trigger=click) enpipe_engine::sleep_monitor: Screen unlocked (CGSession saf
ety-net poll)\n2026-05-07T21:50:34.479630Z INFO screenpipe_
tip: install a starter bundle of pipes: engine::event_driven_capture: invalidating persistent stream
screenpipe install [URL_WITH_CREDENTIALS] record --disable-audio --ignored-windows \"Boostero
2026-05-07T21:01:01.987730Z INFO screenpipe_engine::event_d id\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\
riven_capture: content dedup: skipping capture for monitor 1 ndetected hardware tier: Mid\nwarning: parakeet is not suppo
(hash=2730807366803551277, trigger=click) rted on this platform, using whisper-tiny instead\n2026-05-0
2026-05-07T21:01:19.657174Z INFO screenpipe_engine::event_d 8T09:25:44.404966Z INFO screenpipe_engine::auth_key: api au
riven_capture: content dedup: skipping capture for monitor 2 th: key resolved via secret store\nchecking permissions...\n
(hash=2730807366803551277, trigger=click) screen recording: ok\n accessibility: ok\n2026-05-08T09:2
2026-05-07T21:04:45.665545Z INFO screenpipe_engine::snapsho 5:44.477216Z INFO screenpipe_screen::monitor::macos_version
t_compaction: snapshot compaction: found 24 eligible frames : Detected macOS version: 14.6\n2026-05-08T09:25:45.851716Z
2026-05-07T21:04:46.555243Z INFO screenpipe_engine::snapsho INFO screenpipe_engine::sleep_monitor: Starting macOS sleep
t_compaction: snapshot compaction: 11 frames, 2.4MB → 0.4MB /wake monitor\n2026-05-08T09:25:45.853302Z INFO screenpipe_
(6.5x), 11 JPEGs deleted engine::sleep_monitor: Screen lock/unlock observers register
2026-05-07T21:04:47.505518Z INFO screenpipe_engine::snapsho ed (CFNotificationCenter)\n2026-05-08T09:25:45.853909Z INFO
t_compaction: snapshot compaction: 11 frames, 2.1MB → 0.3MB screenpipe_engine::sleep_monitor: Display reconfiguration w
(6.3x), 11 JPEGs deleted atcher registered (CGDisplayRegisterReconfigurationCallback)
\n2026-05-08T09:25:45.874540Z INFO screenpipe_engine::permi
tip: sign in for higher AI quotas + cloud sync: ssion_monitor: permission monitor started screen=true mic=tr
screenpipe login ue accessibility=true keychain=true\n2026-05-08T09:25:45.874
606Z INFO screenpipe: meeting detector enabled — independen
2026-05-07T21:07:59.390425Z INFO screenpipe_engine::event_d t of transcription mode\n2026-05-08T09:25:45.874891Z INFO s
riven_capture: content dedup: skipping capture for monitor 1 creenpipe: API server listening on [IP_ADDRESS]:3030 (localhost
(hash=2730807366803551277, trigger=click) only)\n2026-05-08T09:25:45.874915Z INFO screenpipe: API au
2026-05-07T21:08:02.049042Z INFO screenpipe_engine::event_d th enabled — run `screenpipe auth token` to view your key\n2
riven_capture: content dedup: skipping capture for monitor 1 026-05-08T09:25:45.874789Z INFO screenpipe_engine::power::m
(hash=2730807366803551277, trigger=click) anager: power manager started (poll interval: 10s)\n2026-05-
2026-05-07T21:08:58.406336Z INFO screenpipe_engine::event_d 08T09:25:45.874931Z INFO screenpipe_engine::vision_manager:
riven_capture: content dedup: skipping capture for monitor 1 :manager: Starting VisionManager\n2026-05-08T09:25:45.874854
(hash=-3190010697038351257, trigger=click) Z INFO screenpipe_engine::snapshot_compaction: snapshot com
2026-05-07T21:08:58.638209Z INFO screenpipe_engine::event_d paction worker started (min_age=600s, poll=300s)\n2026-05-08
riven_capture: content dedup: skipping capture for monitor 2 T09:25:45.877906Z INFO screenpipe_core::pipes: loaded pipe:
(hash=-3190010697038351257, trigger=click) day-recap\n2026-05-08T09:25:45.878202Z INFO screenpipe_cor
2026-05-07T21:09:33.105308Z INFO screenpipe_engine::event_d e::pipes: loaded pipe: standup-update\n2026-05-08T09:25:45.8
riven_capture: content dedup: skipping capture for monitor 2 78737Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\
(hash=2730807366803551277, trigger=click) n2026-05-08T09:25:45.878843Z INFO screenpipe_core::pipes: l
2026-05-07T21:09:47.541287Z INFO screenpipe_engine::snapsho oaded pipe: time-breakdown\n2026-05-08T09:25:45.878921Z INF
t_compaction: snapshot compaction: found 21 eligible frames O screenpipe_core::pipes: loaded pipe: video-export\n2026-05
2026-05-07T21:09:48.491343Z INFO screenpipe_engine::snapsho -08T09:25:45.878997Z INFO screenpipe_core::pipes: loaded pi
t_compaction: snapshot compaction: 10 frames, 2.2MB → 0.4MB pe: meeting-summary\n2026-05-08T09:25:45.879015Z INFO scree
(5.6x), 10 JPEGs deleted npipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.scree
2026-05-07T21:09:49.574479Z INFO screenpipe_engine::snapsho npipe/pipes\"\n\n\n\n
t_compaction: snapshot compaction: 9 frames, 1.8MB → 0.4MB ( _ \n __________________ ___ ____ ____
4.4x), 9 JPEGs deleted (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \
\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ /
tip: get the screenpipe desktop app for the full experienc / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_
e / .___/\\___/ \n /_/ /_/
https://screenpi.pe \n\n\n\npower AI by everything you've seen, said
or heard\nopen source | runs locally | developer friendly\n\
2026-05-07T21:11:18.711785Z INFO screenpipe_engine::event_d n\n┌────────────────────────┬───────────────────────────────
riven_capture: content dedup: skipping capture for monitor 2 ─────┐\n│ setting │ value
(hash=2730807366803551277, trigger=click) │\n├────────────────────────┼─────────────────────
2026-05-07T21:11:43.731627Z INFO screenpipe_engine::event_d ───────────────┤\n│ audio chunk duration │ 30 seconds
riven_capture: content dedup: skipping capture for monitor 2 │\n│ port │ 3030
(hash=-6936887013967671323, trigger=click) │\n│ audio disabled │ true
2026-05-07T21:11:58.569054Z INFO screenpipe_engine::event_d │\n│ vision disabled │
riven_capture: content dedup: skipping capture for monitor 2 false │\n│ pause on DRM content
(hash=-6936887013967671323, trigger=click) │ false │\n│ audio engine
2026-05-07T21:14:49.597611Z INFO screenpipe_engine::snapsho │ Parakeet │\n│ vad engine
t_compaction: snapshot compaction: found 29 eligible frames │ Silero │\n│ data
2026-05-07T21:14:50.698785Z INFO screenpipe_engine::snapsho directory │ /Users/lukas/.screenpipe │\n│
t_compaction: snapshot compaction: 14 frames, 3.1MB → 0.4MB debug mode │ false
(8.0x), 14 JPEGs deleted │\n│ telemetry │ true
2026-05-07T21:14:53.637486Z INFO screenpipe_engine::snapsho │\n│ use pii removal │ true
t_compaction: snapshot compaction: 13 frames, 2.5MB → 0.6MB │\n│ use all monitors │ true
(4.4x), 13 JPEGs deleted │\n2026-05-08T09:25:45.881529Z INFO screenpi
2026-05-07T21:15:02.521080Z INFO screenpipe_engine::event_d pe_core::pipes: pipe scheduler started (generation 2)\n│ ign
riven_capture: content dedup: skipping capture for monitor 1 ored windows │ [\"Boosteroid\"] │
(hash=-6936887013967671323, trigger=click) \n│ included windows │ []
│\n│ cloud sync │ disabled
tip: wire screenpipe into claude with one command: │\n│ auto-destruct pid │ 0
claude mcp add screenpipe -- npx -y screenpipe-mcp │\n│ deepgram key │ not set
then ask claude to build a pipe that tracks who you a │\n│ api auth │ enabled
re, your todos, and how you spend your time from your screen │\n│ encrypt secrets │ disabl
activity ed │\n│ retention days │ 1
4 │\n│ retention mode
2026-05-07T21:15:56.220866Z INFO screenpipe_engine::event_d │ media-only (keep transcripts) │\n├─────────────────
riven_capture: content dedup: skipping capture for monitor 2 ───────┼────────────────────────────────────┤\n│ languages
(hash=6913338268963121281, trigger=click) │ │\n│
2026-05-07T21:16:19.271233Z INFO screenpipe_engine::event_d │ all languages │\n├──
riven_capture: content dedup: skipping capture for monitor 1 ──────────────────────┼────────────────────────────────────┤
(hash=6913338268963121281, trigger=click) \n│ monitors │
2026-05-07T21:17:24.638614Z INFO screenpipe_engine::event_d │\n│ │ id: 1
riven_capture: content dedup: skipping capture for monitor 2 │\n│ │ id: 2
(hash=6913338268963121281, trigger=visual_change) │\n├────────────────────────┼─────────────────
2026-05-07T21:17:30.785805Z INFO screenpipe_engine::event_d ───────────────────┤\n│ audio devices │
riven_capture: content dedup: skipping capture for monitor 2 │\n│ │ disabl
(hash=6913338268963121281, trigger=visual_change) ed │\n└────────────────────────┴──
2026-05-07T21:17:33.819916Z INFO screenpipe_engine::event_d ──────────────────────────────────┘\nyou are using local pro
riven_capture: content dedup: skipping capture for monitor 2 cessing. all your data stays on your computer.\n\nwarning: t
(hash=6913338268963121281, trigger=visual_change) elemetry is enabled. only error-level data will be sent.\nto
2026-05-07T21:18:40.291660Z INFO screenpipe_engine::event_d disable, use the --disable-telemetry flag.\n\ncheck latest
riven_capture: content dedup: skipping capture for monitor 2 changes here: https://github.com/screenpipe/screenpipe/relea
(hash=6913338268963121281, trigger=visual_change) ses\n2026-05-08T09:25:45.881961Z INFO screenpipe: starting
2026-05-07T21:18:44.647424Z INFO screenpipe_engine::event_d UI event capture\n2026-05-08T09:25:45.888762Z INFO screenpi
riven_capture: content dedup: skipping capture for monitor 2 pe_engine::power::manager: initial power profile: Performanc
(hash=6913338268963121281, trigger=click) e (on_ac=true, battery=Some(100))\n2026-05-08T09:25:45.89128
2026-05-07T21:18:44.850725Z INFO screenpipe_engine::event_d 6Z WARN screenpipe: pi agent install failed: bun not found
riven_capture: content dedup: skipping capture for monitor 1 — install from https://bun.sh\n2026-05-08T09:25:45.896583Z
(hash=6913338268963121281, trigger=click) INFO screenpipe_engine::ui_recorder: Starting UI event captu
2026-05-07T21:18:46.523321Z INFO screenpipe_engine::event_d re\n2026-05-08T09:25:45.913159Z INFO screenpipe_engine::ui_
riven_capture: content dedup: skipping capture for monitor 2 recorder: UI recording session started: 03da4156-9bc1-4c59-8
(hash=6913338268963121281, trigger=visual_change) 6f8-3b937ccacca2\n2026-05-08T09:25:45.913483Z INFO screenpi
2026-05-07T21:18:49.556444Z INFO screenpipe_engine::event_d pe_engine::calendar_speaker_id: speaker identification: star
riven_capture: content dedup: skipping capture for monitor 2 ted (user_name=<not set>)\n2026-05-08T09:25:45.913512Z INFO
(hash=6913338268963121281, trigger=visual_change) screenpipe_engine::hot_frame_cache: hot_frame_cache: warmin
2026-05-07T21:19:53.705827Z INFO screenpipe_engine::snapsho g from DB (2026-05-07 06:25:45.913511 UTC to 2026-05-08 06:2
t_compaction: snapshot compaction: found 42 eligible frames 5:45.913511 UTC)\n2026-05-08T09:25:45.914574Z INFO screenpi
2026-05-07T21:19:55.056907Z INFO screenpipe_engine::snapsho pe_engine::meeting_detector: meeting v2: detection loop star
t_compaction: snapshot compaction: 20 frames, 3.6MB → 0.9MB ted (base_interval=5s, profiles=12)\n2026-05-08T09:25:45.923
(4.0x), 20 JPEGs deleted 208Z INFO screenpipe_engine::server: Server listening on 12
2026-05-07T21:19:56.759790Z INFO screenpipe_engine::snapsho [IP_ADDRESS]:3030\n2026-05-08T09:25:45.927056Z INFO screenpipe_c
t_compaction: snapshot compaction: 20 frames, 3.9MB → 1.1MB onnect::mdns: mdns: advertising screenpipe on port 3030\n202
(3.4x), 20 JPEGs deleted 6-05-08T09:25:46.310992Z INFO screenpipe_engine::vision_man
ager::manager: Starting vision recording for monitor 1 (1440
tip: install a starter bundle of pipes: x900)\n2026-05-08T09:25:46.311039Z INFO screenpipe_engine::
screenpipe install https://screenpi.pe/start.json vision_manager::manager: Starting event-driven capture for m
onitor 1 (device: monitor_1)\n2026-05-08T09:25:46.311076Z I
2026-05-07T21:20:29.459260Z INFO screenpipe_engine::event_d NFO screenpipe_engine::event_driven_capture: event-driven ca
riven_capture: content dedup: skipping capture for monitor 2 pture started for monitor 1 (device: monitor_1)\n2026-05-08T
(hash=6913338268963121281, trigger=visual_change) 09:25:46.472936Z INFO screenpipe_engine::vision_manager::ma
2026-05-07T21:20:41.532773Z INFO screenpipe_engine::event_d nager: Starting vision recording for monitor 2 (3008x1253)\n
riven_capture: content dedup: skipping capture for monitor 2 2026-05-08T09:25:46.472968Z INFO screenpipe_engine::vision_
(hash=6913338268963121281, trigger=visual_change) manager::manager: Starting event-driven capture for monitor
2026-05-07T21:20:57.170225Z INFO screenpipe_engine::event_d 2 (device: monitor_2)\n2026-05-08T09:25:46.472981Z INFO scr
riven_capture: content dedup: skipping capture for monitor 1 eenpipe_engine::vision_manager::manager: VisionManager start
(hash=6913338268963121281, trigger=click) ed with 2/2 monitor(s)\n2026-05-08T09:25:46.472989Z INFO sc
2026-05-07T21:21:07.150037Z INFO screenpipe_engine::event_d reenpipe_engine::vision_manager::monitor_watcher: Starting m
riven_capture: content dedup: skipping capture for monitor 1 onitor watcher (event-driven via CGDisplayRegisterReconfigur
(hash=6913338268963121281, trigger=click) ationCallback, 60s backstop poll)\n2026-05-08T09:25:46.47301
2026-05-07T21:21:07.320528Z INFO screenpipe_engine::event_d 7Z INFO screenpipe_engine::event_driven_capture: event-driv
riven_capture: content dedup: skipping capture for monitor 2 en capture started for monitor 2 (device: monitor_2)\n2026-0
(hash=6913338268963121281, trigger=click) 5-08T09:25:47.579143Z INFO sck_rs::stream_manager: persiste
2026-05-07T21:21:27.422746Z INFO screenpipe_engine::event_d nt SCK stream started for display 1 (1440x900, 2fps, 2 exclu
riven_capture: content dedup: skipping capture for monitor 2 ded)"}
(hash=6913338268963121281, trigger=visual_change)
2026-05-07T21:22:21.936188Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=6913338268963121281, trigger=click)
2026-05-07T21:22:22.033584Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=6913338268963121281, trigger=click)
2026-05-07T21:22:50.292905Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:16.735984Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:16.914206Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:18.420221Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:18.695513Z INFO screenpipe_engine::event_d ...
|
iTerm2
|
ssh
|
NULL
|
|
D window_name IS NOT NULL\\n\" rows_affected=0 D window_name IS NOT NULL\\n\" rows_affected=0 rows_returned
riven_capture: content dedup: skipping capture for monitor 2 =182 elapsed=1.9089s\n2026-05-07T21:50:34.470706Z INFO scre
(hash=2730807366803551277, trigger=click) enpipe_engine::sleep_monitor: Screen unlocked (CGSession saf
ety-net poll)\n2026-05-07T21:50:34.479630Z INFO screenpipe_
tip: install a starter bundle of pipes: engine::event_driven_capture: invalidating persistent stream
screenpipe install [URL_WITH_CREDENTIALS] record --disable-audio --ignored-windows \"Boostero
2026-05-07T21:01:01.987730Z INFO screenpipe_engine::event_d id\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\
riven_capture: content dedup: skipping capture for monitor 1 ndetected hardware tier: Mid\nwarning: parakeet is not suppo
(hash=2730807366803551277, trigger=click) rted on this platform, using whisper-tiny instead\n2026-05-0
2026-05-07T21:01:19.657174Z INFO screenpipe_engine::event_d 8T09:25:44.404966Z INFO screenpipe_engine::auth_key: api au
riven_capture: content dedup: skipping capture for monitor 2 th: key resolved via secret store\nchecking permissions...\n
(hash=2730807366803551277, trigger=click) screen recording: ok\n accessibility: ok\n2026-05-08T09:2
2026-05-07T21:04:45.665545Z INFO screenpipe_engine::snapsho 5:44.477216Z INFO screenpipe_screen::monitor::macos_version
t_compaction: snapshot compaction: found 24 eligible frames : Detected macOS version: 14.6\n2026-05-08T09:25:45.851716Z
2026-05-07T21:04:46.555243Z INFO screenpipe_engine::snapsho INFO screenpipe_engine::sleep_monitor: Starting macOS sleep
t_compaction: snapshot compaction: 11 frames, 2.4MB → 0.4MB /wake monitor\n2026-05-08T09:25:45.853302Z INFO screenpipe_
(6.5x), 11 JPEGs deleted engine::sleep_monitor: Screen lock/unlock observers register
2026-05-07T21:04:47.505518Z INFO screenpipe_engine::snapsho ed (CFNotificationCenter)\n2026-05-08T09:25:45.853909Z INFO
t_compaction: snapshot compaction: 11 frames, 2.1MB → 0.3MB screenpipe_engine::sleep_monitor: Display reconfiguration w
(6.3x), 11 JPEGs deleted atcher registered (CGDisplayRegisterReconfigurationCallback)
\n2026-05-08T09:25:45.874540Z INFO screenpipe_engine::permi
tip: sign in for higher AI quotas + cloud sync: ssion_monitor: permission monitor started screen=true mic=tr
screenpipe login ue accessibility=true keychain=true\n2026-05-08T09:25:45.874
606Z INFO screenpipe: meeting detector enabled — independen
2026-05-07T21:07:59.390425Z INFO screenpipe_engine::event_d t of transcription mode\n2026-05-08T09:25:45.874891Z INFO s
riven_capture: content dedup: skipping capture for monitor 1 creenpipe: API server listening on [IP_ADDRESS]:3030 (localhost
(hash=2730807366803551277, trigger=click) only)\n2026-05-08T09:25:45.874915Z INFO screenpipe: API au
2026-05-07T21:08:02.049042Z INFO screenpipe_engine::event_d th enabled — run `screenpipe auth token` to view your key\n2
riven_capture: content dedup: skipping capture for monitor 1 026-05-08T09:25:45.874789Z INFO screenpipe_engine::power::m
(hash=2730807366803551277, trigger=click) anager: power manager started (poll interval: 10s)\n2026-05-
2026-05-07T21:08:58.406336Z INFO screenpipe_engine::event_d 08T09:25:45.874931Z INFO screenpipe_engine::vision_manager:
riven_capture: content dedup: skipping capture for monitor 1 :manager: Starting VisionManager\n2026-05-08T09:25:45.874854
(hash=-3190010697038351257, trigger=click) Z INFO screenpipe_engine::snapshot_compaction: snapshot com
2026-05-07T21:08:58.638209Z INFO screenpipe_engine::event_d paction worker started (min_age=600s, poll=300s)\n2026-05-08
riven_capture: content dedup: skipping capture for monitor 2 T09:25:45.877906Z INFO screenpipe_core::pipes: loaded pipe:
(hash=-3190010697038351257, trigger=click) day-recap\n2026-05-08T09:25:45.878202Z INFO screenpipe_cor
2026-05-07T21:09:33.105308Z INFO screenpipe_engine::event_d e::pipes: loaded pipe: standup-update\n2026-05-08T09:25:45.8
riven_capture: content dedup: skipping capture for monitor 2 78737Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\
(hash=2730807366803551277, trigger=click) n2026-05-08T09:25:45.878843Z INFO screenpipe_core::pipes: l
2026-05-07T21:09:47.541287Z INFO screenpipe_engine::snapsho oaded pipe: time-breakdown\n2026-05-08T09:25:45.878921Z INF
t_compaction: snapshot compaction: found 21 eligible frames O screenpipe_core::pipes: loaded pipe: video-export\n2026-05
2026-05-07T21:09:48.491343Z INFO screenpipe_engine::snapsho -08T09:25:45.878997Z INFO screenpipe_core::pipes: loaded pi
t_compaction: snapshot compaction: 10 frames, 2.2MB → 0.4MB pe: meeting-summary\n2026-05-08T09:25:45.879015Z INFO scree
(5.6x), 10 JPEGs deleted npipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.scree
2026-05-07T21:09:49.574479Z INFO screenpipe_engine::snapsho npipe/pipes\"\n\n\n\n
t_compaction: snapshot compaction: 9 frames, 1.8MB → 0.4MB ( _ \n __________________ ___ ____ ____
4.4x), 9 JPEGs deleted (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \
\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ /
tip: get the screenpipe desktop app for the full experienc / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_
e / .___/\\___/ \n /_/ /_/
https://screenpi.pe \n\n\n\npower AI by everything you've seen, said
or heard\nopen source | runs locally | developer friendly\n\
2026-05-07T21:11:18.711785Z INFO screenpipe_engine::event_d n\n┌────────────────────────┬───────────────────────────────
riven_capture: content dedup: skipping capture for monitor 2 ─────┐\n│ setting │ value
(hash=2730807366803551277, trigger=click) │\n├────────────────────────┼─────────────────────
2026-05-07T21:11:43.731627Z INFO screenpipe_engine::event_d ───────────────┤\n│ audio chunk duration │ 30 seconds
riven_capture: content dedup: skipping capture for monitor 2 │\n│ port │ 3030
(hash=-6936887013967671323, trigger=click) │\n│ audio disabled │ true
2026-05-07T21:11:58.569054Z INFO screenpipe_engine::event_d │\n│ vision disabled │
riven_capture: content dedup: skipping capture for monitor 2 false │\n│ pause on DRM content
(hash=-6936887013967671323, trigger=click) │ false │\n│ audio engine
2026-05-07T21:14:49.597611Z INFO screenpipe_engine::snapsho │ Parakeet │\n│ vad engine
t_compaction: snapshot compaction: found 29 eligible frames │ Silero │\n│ data
2026-05-07T21:14:50.698785Z INFO screenpipe_engine::snapsho directory │ /Users/lukas/.screenpipe │\n│
t_compaction: snapshot compaction: 14 frames, 3.1MB → 0.4MB debug mode │ false
(8.0x), 14 JPEGs deleted │\n│ telemetry │ true
2026-05-07T21:14:53.637486Z INFO screenpipe_engine::snapsho │\n│ use pii removal │ true
t_compaction: snapshot compaction: 13 frames, 2.5MB → 0.6MB │\n│ use all monitors │ true
(4.4x), 13 JPEGs deleted │\n2026-05-08T09:25:45.881529Z INFO screenpi
2026-05-07T21:15:02.521080Z INFO screenpipe_engine::event_d pe_core::pipes: pipe scheduler started (generation 2)\n│ ign
riven_capture: content dedup: skipping capture for monitor 1 ored windows │ [\"Boosteroid\"] │
(hash=-6936887013967671323, trigger=click) \n│ included windows │ []
│\n│ cloud sync │ disabled
tip: wire screenpipe into claude with one command: │\n│ auto-destruct pid │ 0
claude mcp add screenpipe -- npx -y screenpipe-mcp │\n│ deepgram key │ not set
then ask claude to build a pipe that tracks who you a │\n│ api auth │ enabled
re, your todos, and how you spend your time from your screen │\n│ encrypt secrets │ disabl
activity ed │\n│ retention days │ 1
4 │\n│ retention mode
2026-05-07T21:15:56.220866Z INFO screenpipe_engine::event_d │ media-only (keep transcripts) │\n├─────────────────
riven_capture: content dedup: skipping capture for monitor 2 ───────┼────────────────────────────────────┤\n│ languages
(hash=6913338268963121281, trigger=click) │ │\n│
2026-05-07T21:16:19.271233Z INFO screenpipe_engine::event_d │ all languages │\n├──
riven_capture: content dedup: skipping capture for monitor 1 ──────────────────────┼────────────────────────────────────┤
(hash=6913338268963121281, trigger=click) \n│ monitors │
2026-05-07T21:17:24.638614Z INFO screenpipe_engine::event_d │\n│ │ id: 1
riven_capture: content dedup: skipping capture for monitor 2 │\n│ │ id: 2
(hash=6913338268963121281, trigger=visual_change) │\n├────────────────────────┼─────────────────
2026-05-07T21:17:30.785805Z INFO screenpipe_engine::event_d ───────────────────┤\n│ audio devices │
riven_capture: content dedup: skipping capture for monitor 2 │\n│ │ disabl
(hash=6913338268963121281, trigger=visual_change) ed │\n└────────────────────────┴──
2026-05-07T21:17:33.819916Z INFO screenpipe_engine::event_d ──────────────────────────────────┘\nyou are using local pro
riven_capture: content dedup: skipping capture for monitor 2 cessing. all your data stays on your computer.\n\nwarning: t
(hash=6913338268963121281, trigger=visual_change) elemetry is enabled. only error-level data will be sent.\nto
2026-05-07T21:18:40.291660Z INFO screenpipe_engine::event_d disable, use the --disable-telemetry flag.\n\ncheck latest
riven_capture: content dedup: skipping capture for monitor 2 changes here: https://github.com/screenpipe/screenpipe/relea
(hash=6913338268963121281, trigger=visual_change) ses\n2026-05-08T09:25:45.881961Z INFO screenpipe: starting
2026-05-07T21:18:44.647424Z INFO screenpipe_engine::event_d UI event capture\n2026-05-08T09:25:45.888762Z INFO screenpi
riven_capture: content dedup: skipping capture for monitor 2 pe_engine::power::manager: initial power profile: Performanc
(hash=6913338268963121281, trigger=click) e (on_ac=true, battery=Some(100))\n2026-05-08T09:25:45.89128
2026-05-07T21:18:44.850725Z INFO screenpipe_engine::event_d 6Z WARN screenpipe: pi agent install failed: bun not found
riven_capture: content dedup: skipping capture for monitor 1 — install from https://bun.sh\n2026-05-08T09:25:45.896583Z
(hash=6913338268963121281, trigger=click) INFO screenpipe_engine::ui_recorder: Starting UI event captu
2026-05-07T21:18:46.523321Z INFO screenpipe_engine::event_d re\n2026-05-08T09:25:45.913159Z INFO screenpipe_engine::ui_
riven_capture: content dedup: skipping capture for monitor 2 recorder: UI recording session started: 03da4156-9bc1-4c59-8
(hash=6913338268963121281, trigger=visual_change) 6f8-3b937ccacca2\n2026-05-08T09:25:45.913483Z INFO screenpi
2026-05-07T21:18:49.556444Z INFO screenpipe_engine::event_d pe_engine::calendar_speaker_id: speaker identification: star
riven_capture: content dedup: skipping capture for monitor 2 ted (user_name=<not set>)\n2026-05-08T09:25:45.913512Z INFO
(hash=6913338268963121281, trigger=visual_change) screenpipe_engine::hot_frame_cache: hot_frame_cache: warmin
2026-05-07T21:19:53.705827Z INFO screenpipe_engine::snapsho g from DB (2026-05-07 06:25:45.913511 UTC to 2026-05-08 06:2
t_compaction: snapshot compaction: found 42 eligible frames 5:45.913511 UTC)\n2026-05-08T09:25:45.914574Z INFO screenpi
2026-05-07T21:19:55.056907Z INFO screenpipe_engine::snapsho pe_engine::meeting_detector: meeting v2: detection loop star
t_compaction: snapshot compaction: 20 frames, 3.6MB → 0.9MB ted (base_interval=5s, profiles=12)\n2026-05-08T09:25:45.923
(4.0x), 20 JPEGs deleted 208Z INFO screenpipe_engine::server: Server listening on 12
2026-05-07T21:19:56.759790Z INFO screenpipe_engine::snapsho [IP_ADDRESS]:3030\n2026-05-08T09:25:45.927056Z INFO screenpipe_c
t_compaction: snapshot compaction: 20 frames, 3.9MB → 1.1MB onnect::mdns: mdns: advertising screenpipe on port 3030\n202
(3.4x), 20 JPEGs deleted 6-05-08T09:25:46.310992Z INFO screenpipe_engine::vision_man
ager::manager: Starting vision recording for monitor 1 (1440
tip: install a starter bundle of pipes: x900)\n2026-05-08T09:25:46.311039Z INFO screenpipe_engine::
screenpipe install https://screenpi.pe/start.json vision_manager::manager: Starting event-driven capture for m
onitor 1 (device: monitor_1)\n2026-05-08T09:25:46.311076Z I
2026-05-07T21:20:29.459260Z INFO screenpipe_engine::event_d NFO screenpipe_engine::event_driven_capture: event-driven ca
riven_capture: content dedup: skipping capture for monitor 2 pture started for monitor 1 (device: monitor_1)\n2026-05-08T
(hash=6913338268963121281, trigger=visual_change) 09:25:46.472936Z INFO screenpipe_engine::vision_manager::ma
2026-05-07T21:20:41.532773Z INFO screenpipe_engine::event_d nager: Starting vision recording for monitor 2 (3008x1253)\n
riven_capture: content dedup: skipping capture for monitor 2 2026-05-08T09:25:46.472968Z INFO screenpipe_engine::vision_
(hash=6913338268963121281, trigger=visual_change) manager::manager: Starting event-driven capture for monitor
2026-05-07T21:20:57.170225Z INFO screenpipe_engine::event_d 2 (device: monitor_2)\n2026-05-08T09:25:46.472981Z INFO scr
riven_capture: content dedup: skipping capture for monitor 1 eenpipe_engine::vision_manager::manager: VisionManager start
(hash=6913338268963121281, trigger=click) ed with 2/2 monitor(s)\n2026-05-08T09:25:46.472989Z INFO sc
2026-05-07T21:21:07.150037Z INFO screenpipe_engine::event_d reenpipe_engine::vision_manager::monitor_watcher: Starting m
riven_capture: content dedup: skipping capture for monitor 1 onitor watcher (event-driven via CGDisplayRegisterReconfigur
(hash=6913338268963121281, trigger=click) ationCallback, 60s backstop poll)\n2026-05-08T09:25:46.47301
2026-05-07T21:21:07.320528Z INFO screenpipe_engine::event_d 7Z INFO screenpipe_engine::event_driven_capture: event-driv
riven_capture: content dedup: skipping capture for monitor 2 en capture started for monitor 2 (device: monitor_2)\n2026-0
(hash=6913338268963121281, trigger=click) 5-08T09:25:47.579143Z INFO sck_rs::stream_manager: persiste
2026-05-07T21:21:27.422746Z INFO screenpipe_engine::event_d nt SCK stream started for display 1 (1440x900, 2fps, 2 exclu
riven_capture: content dedup: skipping capture for monitor 2 ded)"}
(hash=6913338268963121281, trigger=visual_change)
2026-05-07T21:22:21.936188Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=6913338268963121281, trigger=click)
2026-05-07T21:22:22.033584Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=6913338268963121281, trigger=click)
2026-05-07T21:22:50.292905Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:16.735984Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:16.914206Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:18.420221Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:18.695513Z INFO screenpipe_engine::event_d ...
|
iTerm2
|
ssh
|
NULL
|
|
D window_name IS NOT NULL\\n\" rows_affected=0 D window_name IS NOT NULL\\n\" rows_affected=0 rows_returned
riven_capture: content dedup: skipping capture for monitor 2 =182 elapsed=1.9089s\n2026-05-07T21:50:34.470706Z INFO scre
(hash=2730807366803551277, trigger=click) enpipe_engine::sleep_monitor: Screen unlocked (CGSession saf
ety-net poll)\n2026-05-07T21:50:34.479630Z INFO screenpipe_
tip: install a starter bundle of pipes: engine::event_driven_capture: invalidating persistent stream
screenpipe install [URL_WITH_CREDENTIALS] record --disable-audio --ignored-windows \"Boostero
2026-05-07T21:01:01.987730Z INFO screenpipe_engine::event_d id\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\
riven_capture: content dedup: skipping capture for monitor 1 ndetected hardware tier: Mid\nwarning: parakeet is not suppo
(hash=2730807366803551277, trigger=click) rted on this platform, using whisper-tiny instead\n2026-05-0
2026-05-07T21:01:19.657174Z INFO screenpipe_engine::event_d 8T09:25:44.404966Z INFO screenpipe_engine::auth_key: api au
riven_capture: content dedup: skipping capture for monitor 2 th: key resolved via secret store\nchecking permissions...\n
(hash=2730807366803551277, trigger=click) screen recording: ok\n accessibility: ok\n2026-05-08T09:2
2026-05-07T21:04:45.665545Z INFO screenpipe_engine::snapsho 5:44.477216Z INFO screenpipe_screen::monitor::macos_version
t_compaction: snapshot compaction: found 24 eligible frames : Detected macOS version: 14.6\n2026-05-08T09:25:45.851716Z
2026-05-07T21:04:46.555243Z INFO screenpipe_engine::snapsho INFO screenpipe_engine::sleep_monitor: Starting macOS sleep
t_compaction: snapshot compaction: 11 frames, 2.4MB → 0.4MB /wake monitor\n2026-05-08T09:25:45.853302Z INFO screenpipe_
(6.5x), 11 JPEGs deleted engine::sleep_monitor: Screen lock/unlock observers register
2026-05-07T21:04:47.505518Z INFO screenpipe_engine::snapsho ed (CFNotificationCenter)\n2026-05-08T09:25:45.853909Z INFO
t_compaction: snapshot compaction: 11 frames, 2.1MB → 0.3MB screenpipe_engine::sleep_monitor: Display reconfiguration w
(6.3x), 11 JPEGs deleted atcher registered (CGDisplayRegisterReconfigurationCallback)
\n2026-05-08T09:25:45.874540Z INFO screenpipe_engine::permi
tip: sign in for higher AI quotas + cloud sync: ssion_monitor: permission monitor started screen=true mic=tr
screenpipe login ue accessibility=true keychain=true\n2026-05-08T09:25:45.874
606Z INFO screenpipe: meeting detector enabled — independen
2026-05-07T21:07:59.390425Z INFO screenpipe_engine::event_d t of transcription mode\n2026-05-08T09:25:45.874891Z INFO s
riven_capture: content dedup: skipping capture for monitor 1 creenpipe: API server listening on [IP_ADDRESS]:3030 (localhost
(hash=2730807366803551277, trigger=click) only)\n2026-05-08T09:25:45.874915Z INFO screenpipe: API au
2026-05-07T21:08:02.049042Z INFO screenpipe_engine::event_d th enabled — run `screenpipe auth token` to view your key\n2
riven_capture: content dedup: skipping capture for monitor 1 026-05-08T09:25:45.874789Z INFO screenpipe_engine::power::m
(hash=2730807366803551277, trigger=click) anager: power manager started (poll interval: 10s)\n2026-05-
2026-05-07T21:08:58.406336Z INFO screenpipe_engine::event_d 08T09:25:45.874931Z INFO screenpipe_engine::vision_manager:
riven_capture: content dedup: skipping capture for monitor 1 :manager: Starting VisionManager\n2026-05-08T09:25:45.874854
(hash=-3190010697038351257, trigger=click) Z INFO screenpipe_engine::snapshot_compaction: snapshot com
2026-05-07T21:08:58.638209Z INFO screenpipe_engine::event_d paction worker started (min_age=600s, poll=300s)\n2026-05-08
riven_capture: content dedup: skipping capture for monitor 2 T09:25:45.877906Z INFO screenpipe_core::pipes: loaded pipe:
(hash=-3190010697038351257, trigger=click) day-recap\n2026-05-08T09:25:45.878202Z INFO screenpipe_cor
2026-05-07T21:09:33.105308Z INFO screenpipe_engine::event_d e::pipes: loaded pipe: standup-update\n2026-05-08T09:25:45.8
riven_capture: content dedup: skipping capture for monitor 2 78737Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\
(hash=2730807366803551277, trigger=click) n2026-05-08T09:25:45.878843Z INFO screenpipe_core::pipes: l
2026-05-07T21:09:47.541287Z INFO screenpipe_engine::snapsho oaded pipe: time-breakdown\n2026-05-08T09:25:45.878921Z INF
t_compaction: snapshot compaction: found 21 eligible frames O screenpipe_core::pipes: loaded pipe: video-export\n2026-05
2026-05-07T21:09:48.491343Z INFO screenpipe_engine::snapsho -08T09:25:45.878997Z INFO screenpipe_core::pipes: loaded pi
t_compaction: snapshot compaction: 10 frames, 2.2MB → 0.4MB pe: meeting-summary\n2026-05-08T09:25:45.879015Z INFO scree
(5.6x), 10 JPEGs deleted npipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.scree
2026-05-07T21:09:49.574479Z INFO screenpipe_engine::snapsho npipe/pipes\"\n\n\n\n
t_compaction: snapshot compaction: 9 frames, 1.8MB → 0.4MB ( _ \n __________________ ___ ____ ____
4.4x), 9 JPEGs deleted (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \
\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ /
tip: get the screenpipe desktop app for the full experienc / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_
e / .___/\\___/ \n /_/ /_/
https://screenpi.pe \n\n\n\npower AI by everything you've seen, said
or heard\nopen source | runs locally | developer friendly\n\
2026-05-07T21:11:18.711785Z INFO screenpipe_engine::event_d n\n┌────────────────────────┬───────────────────────────────
riven_capture: content dedup: skipping capture for monitor 2 ─────┐\n│ setting │ value
(hash=2730807366803551277, trigger=click) │\n├────────────────────────┼─────────────────────
2026-05-07T21:11:43.731627Z INFO screenpipe_engine::event_d ───────────────┤\n│ audio chunk duration │ 30 seconds
riven_capture: content dedup: skipping capture for monitor 2 │\n│ port │ 3030
(hash=-6936887013967671323, trigger=click) │\n│ audio disabled │ true
2026-05-07T21:11:58.569054Z INFO screenpipe_engine::event_d │\n│ vision disabled │
riven_capture: content dedup: skipping capture for monitor 2 false │\n│ pause on DRM content
(hash=-6936887013967671323, trigger=click) │ false │\n│ audio engine
2026-05-07T21:14:49.597611Z INFO screenpipe_engine::snapsho │ Parakeet │\n│ vad engine
t_compaction: snapshot compaction: found 29 eligible frames │ Silero │\n│ data
2026-05-07T21:14:50.698785Z INFO screenpipe_engine::snapsho directory │ /Users/lukas/.screenpipe │\n│
t_compaction: snapshot compaction: 14 frames, 3.1MB → 0.4MB debug mode │ false
(8.0x), 14 JPEGs deleted │\n│ telemetry │ true
2026-05-07T21:14:53.637486Z INFO screenpipe_engine::snapsho │\n│ use pii removal │ true
t_compaction: snapshot compaction: 13 frames, 2.5MB → 0.6MB │\n│ use all monitors │ true
(4.4x), 13 JPEGs deleted │\n2026-05-08T09:25:45.881529Z INFO screenpi
2026-05-07T21:15:02.521080Z INFO screenpipe_engine::event_d pe_core::pipes: pipe scheduler started (generation 2)\n│ ign
riven_capture: content dedup: skipping capture for monitor 1 ored windows │ [\"Boosteroid\"] │
(hash=-6936887013967671323, trigger=click) \n│ included windows │ []
│\n│ cloud sync │ disabled
tip: wire screenpipe into claude with one command: │\n│ auto-destruct pid │ 0
claude mcp add screenpipe -- npx -y screenpipe-mcp │\n│ deepgram key │ not set
then ask claude to build a pipe that tracks who you a │\n│ api auth │ enabled
re, your todos, and how you spend your time from your screen │\n│ encrypt secrets │ disabl
activity ed │\n│ retention days │ 1
4 │\n│ retention mode
2026-05-07T21:15:56.220866Z INFO screenpipe_engine::event_d │ media-only (keep transcripts) │\n├─────────────────
riven_capture: content dedup: skipping capture for monitor 2 ───────┼────────────────────────────────────┤\n│ languages
(hash=6913338268963121281, trigger=click) │ │\n│
2026-05-07T21:16:19.271233Z INFO screenpipe_engine::event_d │ all languages │\n├──
riven_capture: content dedup: skipping capture for monitor 1 ──────────────────────┼────────────────────────────────────┤
(hash=6913338268963121281, trigger=click) \n│ monitors │
2026-05-07T21:17:24.638614Z INFO screenpipe_engine::event_d │\n│ │ id: 1
riven_capture: content dedup: skipping capture for monitor 2 │\n│ │ id: 2
(hash=6913338268963121281, trigger=visual_change) │\n├────────────────────────┼─────────────────
2026-05-07T21:17:30.785805Z INFO screenpipe_engine::event_d ───────────────────┤\n│ audio devices │
riven_capture: content dedup: skipping capture for monitor 2 │\n│ │ disabl
(hash=6913338268963121281, trigger=visual_change) ed │\n└────────────────────────┴──
2026-05-07T21:17:33.819916Z INFO screenpipe_engine::event_d ──────────────────────────────────┘\nyou are using local pro
riven_capture: content dedup: skipping capture for monitor 2 cessing. all your data stays on your computer.\n\nwarning: t
(hash=6913338268963121281, trigger=visual_change) elemetry is enabled. only error-level data will be sent.\nto
2026-05-07T21:18:40.291660Z INFO screenpipe_engine::event_d disable, use the --disable-telemetry flag.\n\ncheck latest
riven_capture: content dedup: skipping capture for monitor 2 changes here: https://github.com/screenpipe/screenpipe/relea
(hash=6913338268963121281, trigger=visual_change) ses\n2026-05-08T09:25:45.881961Z INFO screenpipe: starting
2026-05-07T21:18:44.647424Z INFO screenpipe_engine::event_d UI event capture\n2026-05-08T09:25:45.888762Z INFO screenpi
riven_capture: content dedup: skipping capture for monitor 2 pe_engine::power::manager: initial power profile: Performanc
(hash=6913338268963121281, trigger=click) e (on_ac=true, battery=Some(100))\n2026-05-08T09:25:45.89128
2026-05-07T21:18:44.850725Z INFO screenpipe_engine::event_d 6Z WARN screenpipe: pi agent install failed: bun not found
riven_capture: content dedup: skipping capture for monitor 1 — install from https://bun.sh\n2026-05-08T09:25:45.896583Z
(hash=6913338268963121281, trigger=click) INFO screenpipe_engine::ui_recorder: Starting UI event captu
2026-05-07T21:18:46.523321Z INFO screenpipe_engine::event_d re\n2026-05-08T09:25:45.913159Z INFO screenpipe_engine::ui_
riven_capture: content dedup: skipping capture for monitor 2 recorder: UI recording session started: 03da4156-9bc1-4c59-8
(hash=6913338268963121281, trigger=visual_change) 6f8-3b937ccacca2\n2026-05-08T09:25:45.913483Z INFO screenpi
2026-05-07T21:18:49.556444Z INFO screenpipe_engine::event_d pe_engine::calendar_speaker_id: speaker identification: star
riven_capture: content dedup: skipping capture for monitor 2 ted (user_name=<not set>)\n2026-05-08T09:25:45.913512Z INFO
(hash=6913338268963121281, trigger=visual_change) screenpipe_engine::hot_frame_cache: hot_frame_cache: warmin
2026-05-07T21:19:53.705827Z INFO screenpipe_engine::snapsho g from DB (2026-05-07 06:25:45.913511 UTC to 2026-05-08 06:2
t_compaction: snapshot compaction: found 42 eligible frames 5:45.913511 UTC)\n2026-05-08T09:25:45.914574Z INFO screenpi
2026-05-07T21:19:55.056907Z INFO screenpipe_engine::snapsho pe_engine::meeting_detector: meeting v2: detection loop star
t_compaction: snapshot compaction: 20 frames, 3.6MB → 0.9MB ted (base_interval=5s, profiles=12)\n2026-05-08T09:25:45.923
(4.0x), 20 JPEGs deleted 208Z INFO screenpipe_engine::server: Server listening on 12
2026-05-07T21:19:56.759790Z INFO screenpipe_engine::snapsho [IP_ADDRESS]:3030\n2026-05-08T09:25:45.927056Z INFO screenpipe_c
t_compaction: snapshot compaction: 20 frames, 3.9MB → 1.1MB onnect::mdns: mdns: advertising screenpipe on port 3030\n202
(3.4x), 20 JPEGs deleted 6-05-08T09:25:46.310992Z INFO screenpipe_engine::vision_man
ager::manager: Starting vision recording for monitor 1 (1440
tip: install a starter bundle of pipes: x900)\n2026-05-08T09:25:46.311039Z INFO screenpipe_engine::
screenpipe install https://screenpi.pe/start.json vision_manager::manager: Starting event-driven capture for m
onitor 1 (device: monitor_1)\n2026-05-08T09:25:46.311076Z I
2026-05-07T21:20:29.459260Z INFO screenpipe_engine::event_d NFO screenpipe_engine::event_driven_capture: event-driven ca
riven_capture: content dedup: skipping capture for monitor 2 pture started for monitor 1 (device: monitor_1)\n2026-05-08T
(hash=6913338268963121281, trigger=visual_change) 09:25:46.472936Z INFO screenpipe_engine::vision_manager::ma
2026-05-07T21:20:41.532773Z INFO screenpipe_engine::event_d nager: Starting vision recording for monitor 2 (3008x1253)\n
riven_capture: content dedup: skipping capture for monitor 2 2026-05-08T09:25:46.472968Z INFO screenpipe_engine::vision_
(hash=6913338268963121281, trigger=visual_change) manager::manager: Starting event-driven capture for monitor
2026-05-07T21:20:57.170225Z INFO screenpipe_engine::event_d 2 (device: monitor_2)\n2026-05-08T09:25:46.472981Z INFO scr
riven_capture: content dedup: skipping capture for monitor 1 eenpipe_engine::vision_manager::manager: VisionManager start
(hash=6913338268963121281, trigger=click) ed with 2/2 monitor(s)\n2026-05-08T09:25:46.472989Z INFO sc
2026-05-07T21:21:07.150037Z INFO screenpipe_engine::event_d reenpipe_engine::vision_manager::monitor_watcher: Starting m
riven_capture: content dedup: skipping capture for monitor 1 onitor watcher (event-driven via CGDisplayRegisterReconfigur
(hash=6913338268963121281, trigger=click) ationCallback, 60s backstop poll)\n2026-05-08T09:25:46.47301
2026-05-07T21:21:07.320528Z INFO screenpipe_engine::event_d 7Z INFO screenpipe_engine::event_driven_capture: event-driv
riven_capture: content dedup: skipping capture for monitor 2 en capture started for monitor 2 (device: monitor_2)\n2026-0
(hash=6913338268963121281, trigger=click) 5-08T09:25:47.579143Z INFO sck_rs::stream_manager: persiste
2026-05-07T21:21:27.422746Z INFO screenpipe_engine::event_d nt SCK stream started for display 1 (1440x900, 2fps, 2 exclu
riven_capture: content dedup: skipping capture for monitor 2 ded)"}
(hash=6913338268963121281, trigger=visual_change)
2026-05-07T21:22:21.936188Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=6913338268963121281, trigger=click)
2026-05-07T21:22:22.033584Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=6913338268963121281, trigger=click)
2026-05-07T21:22:50.292905Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:16.735984Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:16.914206Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:18.420221Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:18.695513Z INFO screenpipe_engine::event_d ...
|
iTerm2
|
ssh
|
NULL
|
|
D window_name IS NOT NULL\\n\" rows_affected=0 D window_name IS NOT NULL\\n\" rows_affected=0 rows_returned
riven_capture: content dedup: skipping capture for monitor 2 =182 elapsed=1.9089s\n2026-05-07T21:50:34.470706Z INFO scre
(hash=2730807366803551277, trigger=click) enpipe_engine::sleep_monitor: Screen unlocked (CGSession saf
ety-net poll)\n2026-05-07T21:50:34.479630Z INFO screenpipe_
tip: install a starter bundle of pipes: engine::event_driven_capture: invalidating persistent stream
screenpipe install [URL_WITH_CREDENTIALS] record --disable-audio --ignored-windows \"Boostero
2026-05-07T21:01:01.987730Z INFO screenpipe_engine::event_d id\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\
riven_capture: content dedup: skipping capture for monitor 1 ndetected hardware tier: Mid\nwarning: parakeet is not suppo
(hash=2730807366803551277, trigger=click) rted on this platform, using whisper-tiny instead\n2026-05-0
2026-05-07T21:01:19.657174Z INFO screenpipe_engine::event_d 8T09:25:44.404966Z INFO screenpipe_engine::auth_key: api au
riven_capture: content dedup: skipping capture for monitor 2 th: key resolved via secret store\nchecking permissions...\n
(hash=2730807366803551277, trigger=click) screen recording: ok\n accessibility: ok\n2026-05-08T09:2
2026-05-07T21:04:45.665545Z INFO screenpipe_engine::snapsho 5:44.477216Z INFO screenpipe_screen::monitor::macos_version
t_compaction: snapshot compaction: found 24 eligible frames : Detected macOS version: 14.6\n2026-05-08T09:25:45.851716Z
2026-05-07T21:04:46.555243Z INFO screenpipe_engine::snapsho INFO screenpipe_engine::sleep_monitor: Starting macOS sleep
t_compaction: snapshot compaction: 11 frames, 2.4MB → 0.4MB /wake monitor\n2026-05-08T09:25:45.853302Z INFO screenpipe_
(6.5x), 11 JPEGs deleted engine::sleep_monitor: Screen lock/unlock observers register
2026-05-07T21:04:47.505518Z INFO screenpipe_engine::snapsho ed (CFNotificationCenter)\n2026-05-08T09:25:45.853909Z INFO
t_compaction: snapshot compaction: 11 frames, 2.1MB → 0.3MB screenpipe_engine::sleep_monitor: Display reconfiguration w
(6.3x), 11 JPEGs deleted atcher registered (CGDisplayRegisterReconfigurationCallback)
\n2026-05-08T09:25:45.874540Z INFO screenpipe_engine::permi
tip: sign in for higher AI quotas + cloud sync: ssion_monitor: permission monitor started screen=true mic=tr
screenpipe login ue accessibility=true keychain=true\n2026-05-08T09:25:45.874
606Z INFO screenpipe: meeting detector enabled — independen
2026-05-07T21:07:59.390425Z INFO screenpipe_engine::event_d t of transcription mode\n2026-05-08T09:25:45.874891Z INFO s
riven_capture: content dedup: skipping capture for monitor 1 creenpipe: API server listening on [IP_ADDRESS]:3030 (localhost
(hash=2730807366803551277, trigger=click) only)\n2026-05-08T09:25:45.874915Z INFO screenpipe: API au
2026-05-07T21:08:02.049042Z INFO screenpipe_engine::event_d th enabled — run `screenpipe auth token` to view your key\n2
riven_capture: content dedup: skipping capture for monitor 1 026-05-08T09:25:45.874789Z INFO screenpipe_engine::power::m
(hash=2730807366803551277, trigger=click) anager: power manager started (poll interval: 10s)\n2026-05-
2026-05-07T21:08:58.406336Z INFO screenpipe_engine::event_d 08T09:25:45.874931Z INFO screenpipe_engine::vision_manager:
riven_capture: content dedup: skipping capture for monitor 1 :manager: Starting VisionManager\n2026-05-08T09:25:45.874854
(hash=-3190010697038351257, trigger=click) Z INFO screenpipe_engine::snapshot_compaction: snapshot com
2026-05-07T21:08:58.638209Z INFO screenpipe_engine::event_d paction worker started (min_age=600s, poll=300s)\n2026-05-08
riven_capture: content dedup: skipping capture for monitor 2 T09:25:45.877906Z INFO screenpipe_core::pipes: loaded pipe:
(hash=-3190010697038351257, trigger=click) day-recap\n2026-05-08T09:25:45.878202Z INFO screenpipe_cor
2026-05-07T21:09:33.105308Z INFO screenpipe_engine::event_d e::pipes: loaded pipe: standup-update\n2026-05-08T09:25:45.8
riven_capture: content dedup: skipping capture for monitor 2 78737Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\
(hash=2730807366803551277, trigger=click) n2026-05-08T09:25:45.878843Z INFO screenpipe_core::pipes: l
2026-05-07T21:09:47.541287Z INFO screenpipe_engine::snapsho oaded pipe: time-breakdown\n2026-05-08T09:25:45.878921Z INF
t_compaction: snapshot compaction: found 21 eligible frames O screenpipe_core::pipes: loaded pipe: video-export\n2026-05
2026-05-07T21:09:48.491343Z INFO screenpipe_engine::snapsho -08T09:25:45.878997Z INFO screenpipe_core::pipes: loaded pi
t_compaction: snapshot compaction: 10 frames, 2.2MB → 0.4MB pe: meeting-summary\n2026-05-08T09:25:45.879015Z INFO scree
(5.6x), 10 JPEGs deleted npipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.scree
2026-05-07T21:09:49.574479Z INFO screenpipe_engine::snapsho npipe/pipes\"\n\n\n\n
t_compaction: snapshot compaction: 9 frames, 1.8MB → 0.4MB ( _ \n __________________ ___ ____ ____
4.4x), 9 JPEGs deleted (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \
\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ /
tip: get the screenpipe desktop app for the full experienc / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_
e / .___/\\___/ \n /_/ /_/
https://screenpi.pe \n\n\n\npower AI by everything you've seen, said
or heard\nopen source | runs locally | developer friendly\n\
2026-05-07T21:11:18.711785Z INFO screenpipe_engine::event_d n\n┌────────────────────────┬───────────────────────────────
riven_capture: content dedup: skipping capture for monitor 2 ─────┐\n│ setting │ value
(hash=2730807366803551277, trigger=click) │\n├────────────────────────┼─────────────────────
2026-05-07T21:11:43.731627Z INFO screenpipe_engine::event_d ───────────────┤\n│ audio chunk duration │ 30 seconds
riven_capture: content dedup: skipping capture for monitor 2 │\n│ port │ 3030
(hash=-6936887013967671323, trigger=click) │\n│ audio disabled │ true
2026-05-07T21:11:58.569054Z INFO screenpipe_engine::event_d │\n│ vision disabled │
riven_capture: content dedup: skipping capture for monitor 2 false │\n│ pause on DRM content
(hash=-6936887013967671323, trigger=click) │ false │\n│ audio engine
2026-05-07T21:14:49.597611Z INFO screenpipe_engine::snapsho │ Parakeet │\n│ vad engine
t_compaction: snapshot compaction: found 29 eligible frames │ Silero │\n│ data
2026-05-07T21:14:50.698785Z INFO screenpipe_engine::snapsho directory │ /Users/lukas/.screenpipe │\n│
t_compaction: snapshot compaction: 14 frames, 3.1MB → 0.4MB debug mode │ false
(8.0x), 14 JPEGs deleted │\n│ telemetry │ true
2026-05-07T21:14:53.637486Z INFO screenpipe_engine::snapsho │\n│ use pii removal │ true
t_compaction: snapshot compaction: 13 frames, 2.5MB → 0.6MB │\n│ use all monitors │ true
(4.4x), 13 JPEGs deleted │\n2026-05-08T09:25:45.881529Z INFO screenpi
2026-05-07T21:15:02.521080Z INFO screenpipe_engine::event_d pe_core::pipes: pipe scheduler started (generation 2)\n│ ign
riven_capture: content dedup: skipping capture for monitor 1 ored windows │ [\"Boosteroid\"] │
(hash=-6936887013967671323, trigger=click) \n│ included windows │ []
│\n│ cloud sync │ disabled
tip: wire screenpipe into claude with one command: │\n│ auto-destruct pid │ 0
claude mcp add screenpipe -- npx -y screenpipe-mcp │\n│ deepgram key │ not set
then ask claude to build a pipe that tracks who you a │\n│ api auth │ enabled
re, your todos, and how you spend your time from your screen │\n│ encrypt secrets │ disabl
activity ed │\n│ retention days │ 1
4 │\n│ retention mode
2026-05-07T21:15:56.220866Z INFO screenpipe_engine::event_d │ media-only (keep transcripts) │\n├─────────────────
riven_capture: content dedup: skipping capture for monitor 2 ───────┼────────────────────────────────────┤\n│ languages
(hash=6913338268963121281, trigger=click) │ │\n│
2026-05-07T21:16:19.271233Z INFO screenpipe_engine::event_d │ all languages │\n├──
riven_capture: content dedup: skipping capture for monitor 1 ──────────────────────┼────────────────────────────────────┤
(hash=6913338268963121281, trigger=click) \n│ monitors │
2026-05-07T21:17:24.638614Z INFO screenpipe_engine::event_d │\n│ │ id: 1
riven_capture: content dedup: skipping capture for monitor 2 │\n│ │ id: 2
(hash=6913338268963121281, trigger=visual_change) │\n├────────────────────────┼─────────────────
2026-05-07T21:17:30.785805Z INFO screenpipe_engine::event_d ───────────────────┤\n│ audio devices │
riven_capture: content dedup: skipping capture for monitor 2 │\n│ │ disabl
(hash=6913338268963121281, trigger=visual_change) ed │\n└────────────────────────┴──
2026-05-07T21:17:33.819916Z INFO screenpipe_engine::event_d ──────────────────────────────────┘\nyou are using local pro
riven_capture: content dedup: skipping capture for monitor 2 cessing. all your data stays on your computer.\n\nwarning: t
(hash=6913338268963121281, trigger=visual_change) elemetry is enabled. only error-level data will be sent.\nto
2026-05-07T21:18:40.291660Z INFO screenpipe_engine::event_d disable, use the --disable-telemetry flag.\n\ncheck latest
riven_capture: content dedup: skipping capture for monitor 2 changes here: https://github.com/screenpipe/screenpipe/relea
(hash=6913338268963121281, trigger=visual_change) ses\n2026-05-08T09:25:45.881961Z INFO screenpipe: starting
2026-05-07T21:18:44.647424Z INFO screenpipe_engine::event_d UI event capture\n2026-05-08T09:25:45.888762Z INFO screenpi
riven_capture: content dedup: skipping capture for monitor 2 pe_engine::power::manager: initial power profile: Performanc
(hash=6913338268963121281, trigger=click) e (on_ac=true, battery=Some(100))\n2026-05-08T09:25:45.89128
2026-05-07T21:18:44.850725Z INFO screenpipe_engine::event_d 6Z WARN screenpipe: pi agent install failed: bun not found
riven_capture: content dedup: skipping capture for monitor 1 — install from https://bun.sh\n2026-05-08T09:25:45.896583Z
(hash=6913338268963121281, trigger=click) INFO screenpipe_engine::ui_recorder: Starting UI event captu
2026-05-07T21:18:46.523321Z INFO screenpipe_engine::event_d re\n2026-05-08T09:25:45.913159Z INFO screenpipe_engine::ui_
riven_capture: content dedup: skipping capture for monitor 2 recorder: UI recording session started: 03da4156-9bc1-4c59-8
(hash=6913338268963121281, trigger=visual_change) 6f8-3b937ccacca2\n2026-05-08T09:25:45.913483Z INFO screenpi
2026-05-07T21:18:49.556444Z INFO screenpipe_engine::event_d pe_engine::calendar_speaker_id: speaker identification: star
riven_capture: content dedup: skipping capture for monitor 2 ted (user_name=<not set>)\n2026-05-08T09:25:45.913512Z INFO
(hash=6913338268963121281, trigger=visual_change) screenpipe_engine::hot_frame_cache: hot_frame_cache: warmin
2026-05-07T21:19:53.705827Z INFO screenpipe_engine::snapsho g from DB (2026-05-07 06:25:45.913511 UTC to 2026-05-08 06:2
t_compaction: snapshot compaction: found 42 eligible frames 5:45.913511 UTC)\n2026-05-08T09:25:45.914574Z INFO screenpi
2026-05-07T21:19:55.056907Z INFO screenpipe_engine::snapsho pe_engine::meeting_detector: meeting v2: detection loop star
t_compaction: snapshot compaction: 20 frames, 3.6MB → 0.9MB ted (base_interval=5s, profiles=12)\n2026-05-08T09:25:45.923
(4.0x), 20 JPEGs deleted 208Z INFO screenpipe_engine::server: Server listening on 12
2026-05-07T21:19:56.759790Z INFO screenpipe_engine::snapsho [IP_ADDRESS]:3030\n2026-05-08T09:25:45.927056Z INFO screenpipe_c
t_compaction: snapshot compaction: 20 frames, 3.9MB → 1.1MB onnect::mdns: mdns: advertising screenpipe on port 3030\n202
(3.4x), 20 JPEGs deleted 6-05-08T09:25:46.310992Z INFO screenpipe_engine::vision_man
ager::manager: Starting vision recording for monitor 1 (1440
tip: install a starter bundle of pipes: x900)\n2026-05-08T09:25:46.311039Z INFO screenpipe_engine::
screenpipe install https://screenpi.pe/start.json vision_manager::manager: Starting event-driven capture for m
onitor 1 (device: monitor_1)\n2026-05-08T09:25:46.311076Z I
2026-05-07T21:20:29.459260Z INFO screenpipe_engine::event_d NFO screenpipe_engine::event_driven_capture: event-driven ca
riven_capture: content dedup: skipping capture for monitor 2 pture started for monitor 1 (device: monitor_1)\n2026-05-08T
(hash=6913338268963121281, trigger=visual_change) 09:25:46.472936Z INFO screenpipe_engine::vision_manager::ma
2026-05-07T21:20:41.532773Z INFO screenpipe_engine::event_d nager: Starting vision recording for monitor 2 (3008x1253)\n
riven_capture: content dedup: skipping capture for monitor 2 2026-05-08T09:25:46.472968Z INFO screenpipe_engine::vision_
(hash=6913338268963121281, trigger=visual_change) manager::manager: Starting event-driven capture for monitor
2026-05-07T21:20:57.170225Z INFO screenpipe_engine::event_d 2 (device: monitor_2)\n2026-05-08T09:25:46.472981Z INFO scr
riven_capture: content dedup: skipping capture for monitor 1 eenpipe_engine::vision_manager::manager: VisionManager start
(hash=6913338268963121281, trigger=click) ed with 2/2 monitor(s)\n2026-05-08T09:25:46.472989Z INFO sc
2026-05-07T21:21:07.150037Z INFO screenpipe_engine::event_d reenpipe_engine::vision_manager::monitor_watcher: Starting m
riven_capture: content dedup: skipping capture for monitor 1 onitor watcher (event-driven via CGDisplayRegisterReconfigur
(hash=6913338268963121281, trigger=click) ationCallback, 60s backstop poll)\n2026-05-08T09:25:46.47301
2026-05-07T21:21:07.320528Z INFO screenpipe_engine::event_d 7Z INFO screenpipe_engine::event_driven_capture: event-driv
riven_capture: content dedup: skipping capture for monitor 2 en capture started for monitor 2 (device: monitor_2)\n2026-0
(hash=6913338268963121281, trigger=click) 5-08T09:25:47.579143Z INFO sck_rs::stream_manager: persiste
2026-05-07T21:21:27.422746Z INFO screenpipe_engine::event_d nt SCK stream started for display 1 (1440x900, 2fps, 2 exclu
riven_capture: content dedup: skipping capture for monitor 2 ded)"}
(hash=6913338268963121281, trigger=visual_change)
2026-05-07T21:22:21.936188Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=6913338268963121281, trigger=click)
2026-05-07T21:22:22.033584Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=6913338268963121281, trigger=click)
2026-05-07T21:22:50.292905Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:16.735984Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:16.914206Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 2
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:18.420221Z INFO screenpipe_engine::event_d
riven_capture: content dedup: skipping capture for monitor 1
(hash=5795911359130326036, trigger=click)
2026-05-07T21:23:18.695513Z INFO screenpipe_engine::event_d ...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-z Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh
iTerm2ShellEditViewSessionScriptsProfilesWindowHelpDOCKER• ₴1Adm1n@DXP4800PLUS-B5F8:~$DEV (-zsh)O 82APP (-zsh)• *3-zsh• x4ssh-zsh• 285lihlscreenpipe"• ₴6Assh100% (47*8•87Sun 10 May 21:15:20-zshT81*8+...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenp Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- Duplication rate per date (elements only)
SELECT
date(f.timestamp) AS day,
COUNT(*) AS rows,
COUNT(DISTINCT e.id) AS uniq,
COUNT(*) - COUNT(DISTINCT e.id) AS dups,
ROUND(100.0 * (COUNT(*) - COUNT(DISTINCT e.id)) / COUNT(*), 2) AS dup_pct
FROM elements e
JOIN frames f ON e.frame_id = f.id
GROUP BY day
ORDER BY day DESC
LIMIT 20;
-- Same check for frames (sanity — should be 0% across the board)
SELECT
date(timestamp) AS day,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames
GROUP BY day
HAVING dups > 0
LIMIT 10;
SQL
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenp Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- Duplication rate per date (elements only)
SELECT
date(f.timestamp) AS day,
COUNT(*) AS rows,
COUNT(DISTINCT e.id) AS uniq,
COUNT(*) - COUNT(DISTINCT e.id) AS dups,
ROUND(100.0 * (COUNT(*) - COUNT(DISTINCT e.id)) / COUNT(*), 2) AS dup_pct
FROM elements e
JOIN frames f ON e.frame_id = f.id
GROUP BY day
ORDER BY day DESC
LIMIT 20;
-- Same check for frames (sanity — should be 0% across the board)
SELECT
date(timestamp) AS day,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames
GROUP BY day
HAVING dups > 0
LIMIT 10;
SQL
day rows uniq dups dup_pct
---------- ------- ------ ------ -------
2026-05-08 779085 747320 31765 4.08
2026-05-07 623002 623002 0 0.0
2026-05-06 19825 19825 0 0.0
2026-04-28 407532 407532 0 0.0
2026-04-27 470235 470235 0 0.0
2026-04-25 79155 79155 0 0.0
2026-04-24 297071 297071 0 0.0
2026-04-23 208937 208937 0 0.0
2026-04-22 332442 332442 0 0.0
2026-04-21 702947 702947 0 0.0
2026-04-20 687142 687142 0 0.0
2026-04-17 705322 705322 0 0.0
2026-04-16 592087 592087 0 0.0
2026-04-15 886876 886876 0 0.0
2026-04-14 1068016 747320 320696 30.03
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenp Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- Duplication rate per date (elements only)
SELECT
date(f.timestamp) AS day,
COUNT(*) AS rows,
COUNT(DISTINCT e.id) AS uniq,
COUNT(*) - COUNT(DISTINCT e.id) AS dups,
ROUND(100.0 * (COUNT(*) - COUNT(DISTINCT e.id)) / COUNT(*), 2) AS dup_pct
FROM elements e
JOIN frames f ON e.frame_id = f.id
GROUP BY day
ORDER BY day DESC
LIMIT 20;
-- Same check for frames (sanity — should be 0% across the board)
SELECT
date(timestamp) AS day,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames
GROUP BY day
HAVING dups > 0
LIMIT 10;
SQL
day rows uniq dups dup_pct
---------- ------- ------ ------ -------
2026-05-08 779085 747320 31765 4.08
2026-05-07 623002 623002 0 0.0
2026-05-06 19825 19825 0 0.0
2026-04-28 407532 407532 0 0.0
2026-04-27 470235 470235 0 0.0
2026-04-25 79155 79155 0 0.0
2026-04-24 297071 297071 0 0.0
2026-04-23 208937 208937 0 0.0
2026-04-22 332442 332442 0 0.0
2026-04-21 702947 702947 0 0.0
2026-04-20 687142 687142 0 0.0
2026-04-17 705322 705322 0 0.0
2026-04-16 592087 592087 0 0.0
2026-04-15 886876 886876 0 0.0
2026-04-14 1068016 747320 320696 30.03
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenp Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- Duplication rate per date (elements only)
SELECT
date(f.timestamp) AS day,
COUNT(*) AS rows,
COUNT(DISTINCT e.id) AS uniq,
COUNT(*) - COUNT(DISTINCT e.id) AS dups,
ROUND(100.0 * (COUNT(*) - COUNT(DISTINCT e.id)) / COUNT(*), 2) AS dup_pct
FROM elements e
JOIN frames f ON e.frame_id = f.id
GROUP BY day
ORDER BY day DESC
LIMIT 20;
-- Same check for frames (sanity — should be 0% across the board)
SELECT
date(timestamp) AS day,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames
GROUP BY day
HAVING dups > 0
LIMIT 10;
SQL
day rows uniq dups dup_pct
---------- ------- ------ ------ -------
2026-05-08 779085 747320 31765 4.08
2026-05-07 623002 623002 0 0.0
2026-05-06 19825 19825 0 0.0
2026-04-28 407532 407532 0 0.0
2026-04-27 470235 470235 0 0.0
2026-04-25 79155 79155 0 0.0
2026-04-24 297071 297071 0 0.0
2026-04-23 208937 208937 0 0.0
2026-04-22 332442 332442 0 0.0
2026-04-21 702947 702947 0 0.0
2026-04-20 687142 687142 0 0.0
2026-04-17 705322 705322 0 0.0
2026-04-16 592087 592087 0 0.0
2026-04-15 886876 886876 0 0.0
2026-04-14 1068016 747320 320696 30.03
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenp Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- Duplication rate per date (elements only)
SELECT
date(f.timestamp) AS day,
COUNT(*) AS rows,
COUNT(DISTINCT e.id) AS uniq,
COUNT(*) - COUNT(DISTINCT e.id) AS dups,
ROUND(100.0 * (COUNT(*) - COUNT(DISTINCT e.id)) / COUNT(*), 2) AS dup_pct
FROM elements e
JOIN frames f ON e.frame_id = f.id
GROUP BY day
ORDER BY day DESC
LIMIT 20;
-- Same check for frames (sanity — should be 0% across the board)
SELECT
date(timestamp) AS day,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames
GROUP BY day
HAVING dups > 0
LIMIT 10;
SQL
day rows uniq dups dup_pct
---------- ------- ------ ------ -------
2026-05-08 779085 747320 31765 4.08
2026-05-07 623002 623002 0 0.0
2026-05-06 19825 19825 0 0.0
2026-04-28 407532 407532 0 0.0
2026-04-27 470235 470235 0 0.0
2026-04-25 79155 79155 0 0.0
2026-04-24 297071 297071 0 0.0
2026-04-23 208937 208937 0 0.0
2026-04-22 332442 332442 0 0.0
2026-04-21 702947 702947 0 0.0
2026-04-20 687142 687142 0 0.0
2026-04-17 705322 705322 0 0.0
2026-04-16 592087 592087 0 0.0
2026-04-15 886876 886876 0 0.0
2026-04-14 1068016 747320 320696 30.03
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenp Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- Duplication rate per date (elements only)
SELECT
date(f.timestamp) AS day,
COUNT(*) AS rows,
COUNT(DISTINCT e.id) AS uniq,
COUNT(*) - COUNT(DISTINCT e.id) AS dups,
ROUND(100.0 * (COUNT(*) - COUNT(DISTINCT e.id)) / COUNT(*), 2) AS dup_pct
FROM elements e
JOIN frames f ON e.frame_id = f.id
GROUP BY day
ORDER BY day DESC
LIMIT 20;
-- Same check for frames (sanity — should be 0% across the board)
SELECT
date(timestamp) AS day,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames
GROUP BY day
HAVING dups > 0
LIMIT 10;
SQL
day rows uniq dups dup_pct
---------- ------- ------ ------ -------
2026-05-08 779085 747320 31765 4.08
2026-05-07 623002 623002 0 0.0
2026-05-06 19825 19825 0 0.0
2026-04-28 407532 407532 0 0.0
2026-04-27 470235 470235 0 0.0
2026-04-25 79155 79155 0 0.0
2026-04-24 297071 297071 0 0.0
2026-04-23 208937 208937 0 0.0
2026-04-22 332442 332442 0 0.0
2026-04-21 702947 702947 0 0.0
2026-04-20 687142 687142 0 0.0
2026-04-17 705322 705322 0 0.0
2026-04-16 592087 592087 0 0.0
2026-04-15 886876 886876 0 0.0
2026-04-14 1068016 747320 320696 30.03
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenp Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- Duplication rate per date (elements only)
SELECT
date(f.timestamp) AS day,
COUNT(*) AS rows,
COUNT(DISTINCT e.id) AS uniq,
COUNT(*) - COUNT(DISTINCT e.id) AS dups,
ROUND(100.0 * (COUNT(*) - COUNT(DISTINCT e.id)) / COUNT(*), 2) AS dup_pct
FROM elements e
JOIN frames f ON e.frame_id = f.id
GROUP BY day
ORDER BY day DESC
LIMIT 20;
-- Same check for frames (sanity — should be 0% across the board)
SELECT
date(timestamp) AS day,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames
GROUP BY day
HAVING dups > 0
LIMIT 10;
SQL
day rows uniq dups dup_pct
---------- ------- ------ ------ -------
2026-05-08 779085 747320 31765 4.08
2026-05-07 623002 623002 0 0.0
2026-05-06 19825 19825 0 0.0
2026-04-28 407532 407532 0 0.0
2026-04-27 470235 470235 0 0.0
2026-04-25 79155 79155 0 0.0
2026-04-24 297071 297071 0 0.0
2026-04-23 208937 208937 0 0.0
2026-04-22 332442 332442 0 0.0
2026-04-21 702947 702947 0 0.0
2026-04-20 687142 687142 0 0.0
2026-04-17 705322 705322 0 0.0
2026-04-16 592087 592087 0 0.0
2026-04-15 886876 886876 0 0.0
2026-04-14 1068016 747320 320696 30.03
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- Are frame ids reused across capture eras?
SELECT id, COUNT(*) AS copies,
GROUP_CONCAT(DISTINCT date(timestamp) ORDER BY timestamp) AS dates
FROM frames
GROUP BY id
HAVING copies > 1
ORDER BY copies DESC
LIMIT 10;
-- How many frame ids overlap?
SELECT
COUNT(*) AS total_frames,
COUNT(DISTINCT id) AS unique_ids,
COUNT(*) - COUNT(DISTINCT id) AS reused_ids
FROM frames;
-- What's the frame id range pre/post the gap?
SELECT
CASE WHEN date(timestamp) <= '2026-04-28' THEN 'pre-reinstall' ELSE 'post-reinstall' END AS era,
MIN(id) AS min_id, MAX(id) AS max_id, COUNT(*) AS frames
FROM frames
GROUP BY era;
SQL
Parse error near line 5: near "ORDER": syntax error
S copies, GROUP_CONCAT(DISTINCT date(timestamp) ORDER BY timestamp) AS dates
error here ---^
total_frames unique_ids reused_ids
------------ ---------- ----------
96749 93310 3439
era min_id max_id frames
-------------- ------ ------ ------
post-reinstall 1 11475 11475
pre-reinstall 8037 95059 85274
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenp Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- Duplication rate per date (elements only)
SELECT
date(f.timestamp) AS day,
COUNT(*) AS rows,
COUNT(DISTINCT e.id) AS uniq,
COUNT(*) - COUNT(DISTINCT e.id) AS dups,
ROUND(100.0 * (COUNT(*) - COUNT(DISTINCT e.id)) / COUNT(*), 2) AS dup_pct
FROM elements e
JOIN frames f ON e.frame_id = f.id
GROUP BY day
ORDER BY day DESC
LIMIT 20;
-- Same check for frames (sanity — should be 0% across the board)
SELECT
date(timestamp) AS day,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames
GROUP BY day
HAVING dups > 0
LIMIT 10;
SQL
day rows uniq dups dup_pct
---------- ------- ------ ------ -------
2026-05-08 779085 747320 31765 4.08
2026-05-07 623002 623002 0 0.0
2026-05-06 19825 19825 0 0.0
2026-04-28 407532 407532 0 0.0
2026-04-27 470235 470235 0 0.0
2026-04-25 79155 79155 0 0.0
2026-04-24 297071 297071 0 0.0
2026-04-23 208937 208937 0 0.0
2026-04-22 332442 332442 0 0.0
2026-04-21 702947 702947 0 0.0
2026-04-20 687142 687142 0 0.0
2026-04-17 705322 705322 0 0.0
2026-04-16 592087 592087 0 0.0
2026-04-15 886876 886876 0 0.0
2026-04-14 1068016 747320 320696 30.03
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- Are frame ids reused across capture eras?
SELECT id, COUNT(*) AS copies,
GROUP_CONCAT(DISTINCT date(timestamp) ORDER BY timestamp) AS dates
FROM frames
GROUP BY id
HAVING copies > 1
ORDER BY copies DESC
LIMIT 10;
-- How many frame ids overlap?
SELECT
COUNT(*) AS total_frames,
COUNT(DISTINCT id) AS unique_ids,
COUNT(*) - COUNT(DISTINCT id) AS reused_ids
FROM frames;
-- What's the frame id range pre/post the gap?
SELECT
CASE WHEN date(timestamp) <= '2026-04-28' THEN 'pre-reinstall' ELSE 'post-reinstall' END AS era,
MIN(id) AS min_id, MAX(id) AS max_id, COUNT(*) AS frames
FROM frames
GROUP BY era;
SQL
Parse error near line 5: near "ORDER": syntax error
S copies, GROUP_CONCAT(DISTINCT date(timestamp) ORDER BY timestamp) AS dates
error here ---^
total_frames unique_ids reused_ids
------------ ---------- ----------
96749 93310 3439
era min_id max_id frames
-------------- ------ ------ ------
post-reinstall 1 11475 11475
pre-reinstall 8037 95059 85274
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenp Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- Duplication rate per date (elements only)
SELECT
date(f.timestamp) AS day,
COUNT(*) AS rows,
COUNT(DISTINCT e.id) AS uniq,
COUNT(*) - COUNT(DISTINCT e.id) AS dups,
ROUND(100.0 * (COUNT(*) - COUNT(DISTINCT e.id)) / COUNT(*), 2) AS dup_pct
FROM elements e
JOIN frames f ON e.frame_id = f.id
GROUP BY day
ORDER BY day DESC
LIMIT 20;
-- Same check for frames (sanity — should be 0% across the board)
SELECT
date(timestamp) AS day,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames
GROUP BY day
HAVING dups > 0
LIMIT 10;
SQL
day rows uniq dups dup_pct
---------- ------- ------ ------ -------
2026-05-08 779085 747320 31765 4.08
2026-05-07 623002 623002 0 0.0
2026-05-06 19825 19825 0 0.0
2026-04-28 407532 407532 0 0.0
2026-04-27 470235 470235 0 0.0
2026-04-25 79155 79155 0 0.0
2026-04-24 297071 297071 0 0.0
2026-04-23 208937 208937 0 0.0
2026-04-22 332442 332442 0 0.0
2026-04-21 702947 702947 0 0.0
2026-04-20 687142 687142 0 0.0
2026-04-17 705322 705322 0 0.0
2026-04-16 592087 592087 0 0.0
2026-04-15 886876 886876 0 0.0
2026-04-14 1068016 747320 320696 30.03
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- Are frame ids reused across capture eras?
SELECT id, COUNT(*) AS copies,
GROUP_CONCAT(DISTINCT date(timestamp) ORDER BY timestamp) AS dates
FROM frames
GROUP BY id
HAVING copies > 1
ORDER BY copies DESC
LIMIT 10;
-- How many frame ids overlap?
SELECT
COUNT(*) AS total_frames,
COUNT(DISTINCT id) AS unique_ids,
COUNT(*) - COUNT(DISTINCT id) AS reused_ids
FROM frames;
-- What's the frame id range pre/post the gap?
SELECT
CASE WHEN date(timestamp) <= '2026-04-28' THEN 'pre-reinstall' ELSE 'post-reinstall' END AS era,
MIN(id) AS min_id, MAX(id) AS max_id, COUNT(*) AS frames
FROM frames
GROUP BY era;
SQL
Parse error near line 5: near "ORDER": syntax error
S copies, GROUP_CONCAT(DISTINCT date(timestamp) ORDER BY timestamp) AS dates
error here ---^
total_frames unique_ids reused_ids
------------ ---------- ----------
96749 93310 3439
era min_id max_id frames
-------------- ------ ------ ------
post-reinstall 1 11475 11475
pre-reinstall 8037 95059 85274
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenp Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- Duplication rate per date (elements only)
SELECT
date(f.timestamp) AS day,
COUNT(*) AS rows,
COUNT(DISTINCT e.id) AS uniq,
COUNT(*) - COUNT(DISTINCT e.id) AS dups,
ROUND(100.0 * (COUNT(*) - COUNT(DISTINCT e.id)) / COUNT(*), 2) AS dup_pct
FROM elements e
JOIN frames f ON e.frame_id = f.id
GROUP BY day
ORDER BY day DESC
LIMIT 20;
-- Same check for frames (sanity — should be 0% across the board)
SELECT
date(timestamp) AS day,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames
GROUP BY day
HAVING dups > 0
LIMIT 10;
SQL
day rows uniq dups dup_pct
---------- ------- ------ ------ -------
2026-05-08 779085 747320 31765 4.08
2026-05-07 623002 623002 0 0.0
2026-05-06 19825 19825 0 0.0
2026-04-28 407532 407532 0 0.0
2026-04-27 470235 470235 0 0.0
2026-04-25 79155 79155 0 0.0
2026-04-24 297071 297071 0 0.0
2026-04-23 208937 208937 0 0.0
2026-04-22 332442 332442 0 0.0
2026-04-21 702947 702947 0 0.0
2026-04-20 687142 687142 0 0.0
2026-04-17 705322 705322 0 0.0
2026-04-16 592087 592087 0 0.0
2026-04-15 886876 886876 0 0.0
2026-04-14 1068016 747320 320696 30.03
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- Are frame ids reused across capture eras?
SELECT id, COUNT(*) AS copies,
GROUP_CONCAT(DISTINCT date(timestamp) ORDER BY timestamp) AS dates
FROM frames
GROUP BY id
HAVING copies > 1
ORDER BY copies DESC
LIMIT 10;
-- How many frame ids overlap?
SELECT
COUNT(*) AS total_frames,
COUNT(DISTINCT id) AS unique_ids,
COUNT(*) - COUNT(DISTINCT id) AS reused_ids
FROM frames;
-- What's the frame id range pre/post the gap?
SELECT
CASE WHEN date(timestamp) <= '2026-04-28' THEN 'pre-reinstall' ELSE 'post-reinstall' END AS era,
MIN(id) AS min_id, MAX(id) AS max_id, COUNT(*) AS frames
FROM frames
GROUP BY era;
SQL
Parse error near line 5: near "ORDER": syntax error
S copies, GROUP_CONCAT(DISTINCT date(timestamp) ORDER BY timestamp) AS dates
error here ---^
total_frames unique_ids reused_ids
------------ ---------- ----------
96749 93310 3439
era min_id max_id frames
-------------- ------ ------ ------
post-reinstall 1 11475 11475
pre-reinstall 8037 95059 85274
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenp Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- Duplication rate per date (elements only)
SELECT
date(f.timestamp) AS day,
COUNT(*) AS rows,
COUNT(DISTINCT e.id) AS uniq,
COUNT(*) - COUNT(DISTINCT e.id) AS dups,
ROUND(100.0 * (COUNT(*) - COUNT(DISTINCT e.id)) / COUNT(*), 2) AS dup_pct
FROM elements e
JOIN frames f ON e.frame_id = f.id
GROUP BY day
ORDER BY day DESC
LIMIT 20;
-- Same check for frames (sanity — should be 0% across the board)
SELECT
date(timestamp) AS day,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames
GROUP BY day
HAVING dups > 0
LIMIT 10;
SQL
day rows uniq dups dup_pct
---------- ------- ------ ------ -------
2026-05-08 779085 747320 31765 4.08
2026-05-07 623002 623002 0 0.0
2026-05-06 19825 19825 0 0.0
2026-04-28 407532 407532 0 0.0
2026-04-27 470235 470235 0 0.0
2026-04-25 79155 79155 0 0.0
2026-04-24 297071 297071 0 0.0
2026-04-23 208937 208937 0 0.0
2026-04-22 332442 332442 0 0.0
2026-04-21 702947 702947 0 0.0
2026-04-20 687142 687142 0 0.0
2026-04-17 705322 705322 0 0.0
2026-04-16 592087 592087 0 0.0
2026-04-15 886876 886876 0 0.0
2026-04-14 1068016 747320 320696 30.03
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- Are frame ids reused across capture eras?
SELECT id, COUNT(*) AS copies,
GROUP_CONCAT(DISTINCT date(timestamp) ORDER BY timestamp) AS dates
FROM frames
GROUP BY id
HAVING copies > 1
ORDER BY copies DESC
LIMIT 10;
-- How many frame ids overlap?
SELECT
COUNT(*) AS total_frames,
COUNT(DISTINCT id) AS unique_ids,
COUNT(*) - COUNT(DISTINCT id) AS reused_ids
FROM frames;
-- What's the frame id range pre/post the gap?
SELECT
CASE WHEN date(timestamp) <= '2026-04-28' THEN 'pre-reinstall' ELSE 'post-reinstall' END AS era,
MIN(id) AS min_id, MAX(id) AS max_id, COUNT(*) AS frames
FROM frames
GROUP BY era;
SQL
Parse error near line 5: near "ORDER": syntax error
S copies, GROUP_CONCAT(DISTINCT date(timestamp) ORDER BY timestamp) AS dates
error here ---^
total_frames unique_ids reused_ids
------------ ---------- ----------
96749 93310 3439
era min_id max_id frames
-------------- ------ ------ ------
post-reinstall 1 11475 11475
pre-reinstall 8037 95059 85274
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|
|
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenp Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- Duplication rate per date (elements only)
SELECT
date(f.timestamp) AS day,
COUNT(*) AS rows,
COUNT(DISTINCT e.id) AS uniq,
COUNT(*) - COUNT(DISTINCT e.id) AS dups,
ROUND(100.0 * (COUNT(*) - COUNT(DISTINCT e.id)) / COUNT(*), 2) AS dup_pct
FROM elements e
JOIN frames f ON e.frame_id = f.id
GROUP BY day
ORDER BY day DESC
LIMIT 20;
-- Same check for frames (sanity — should be 0% across the board)
SELECT
date(timestamp) AS day,
COUNT(*) - COUNT(DISTINCT id) AS dups
FROM frames
GROUP BY day
HAVING dups > 0
LIMIT 10;
SQL
day rows uniq dups dup_pct
---------- ------- ------ ------ -------
2026-05-08 779085 747320 31765 4.08
2026-05-07 623002 623002 0 0.0
2026-05-06 19825 19825 0 0.0
2026-04-28 407532 407532 0 0.0
2026-04-27 470235 470235 0 0.0
2026-04-25 79155 79155 0 0.0
2026-04-24 297071 297071 0 0.0
2026-04-23 208937 208937 0 0.0
2026-04-22 332442 332442 0 0.0
2026-04-21 702947 702947 0 0.0
2026-04-20 687142 687142 0 0.0
2026-04-17 705322 705322 0 0.0
2026-04-16 592087 592087 0 0.0
2026-04-15 886876 886876 0 0.0
2026-04-14 1068016 747320 320696 30.03
Adm1n@DXP4800PLUS-B5F8:~$ sqlite3 /volume1/screenpipe/archive.db <<'SQL'
.headers on
.mode column
-- Are frame ids reused across capture eras?
SELECT id, COUNT(*) AS copies,
GROUP_CONCAT(DISTINCT date(timestamp) ORDER BY timestamp) AS dates
FROM frames
GROUP BY id
HAVING copies > 1
ORDER BY copies DESC
LIMIT 10;
-- How many frame ids overlap?
SELECT
COUNT(*) AS total_frames,
COUNT(DISTINCT id) AS unique_ids,
COUNT(*) - COUNT(DISTINCT id) AS reused_ids
FROM frames;
-- What's the frame id range pre/post the gap?
SELECT
CASE WHEN date(timestamp) <= '2026-04-28' THEN 'pre-reinstall' ELSE 'post-reinstall' END AS era,
MIN(id) AS min_id, MAX(id) AS max_id, COUNT(*) AS frames
FROM frames
GROUP BY era;
SQL
Parse error near line 5: near "ORDER": syntax error
S copies, GROUP_CONCAT(DISTINCT date(timestamp) ORDER BY timestamp) AS dates
error here ---^
total_frames unique_ids reused_ids
------------ ---------- ----------
96749 93310 3439
era min_id max_id frames
-------------- ------ ------ ------
post-reinstall 1 11475 11475
pre-reinstall 8037 95059 85274
Adm1n@DXP4800PLUS-B5F8:~$
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
ssh
Close Tab
-zsh
Close Tab
⌥⌘1
ssh...
|
iTerm2
|
ssh
|
NULL
|