From 4bcced4e088a012e34504d6b2e3850117aee57f1 Mon Sep 17 00:00:00 2001 From: Kirill Date: Sat, 23 May 2026 11:17:29 +0500 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=B2=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 8 ++++++++ server/prisma/prisma/dev.db | Bin 364544 -> 364544 bytes 2 files changed, 8 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index f09b314..5fa1c06 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -67,6 +67,14 @@ cd client && npm run build # full typecheck + build - Yandex callback: `{SERVER_PUBLIC_URL}/api/auth/oauth/yandex/callback` - Required env vars: `VK_CLIENT_ID`, `VK_CLIENT_SECRET`, `YANDEX_CLIENT_ID`, `YANDEX_CLIENT_SECRET`, `SERVER_PUBLIC_URL`, `CLIENT_PUBLIC_URL` +## Infrastructure (deployment) + +- **VPS** runs Nginx Proxy Manager (NPM), connected via Netbird peer-to-peer VPN to the dev machine +- **Local dev machine** runs the project (server + client), also a Netbird peer +- **Traffic flow**: Browser → Domain (A record → VPS IP) → NPM → Netbird tunnel → Local dev machine (`server:3333`) +- NPM manages SSL, domains, and proxy hosts +- `trustProxy: true` on Fastify — `request.ip` works correctly through NPM/Netbird chain + ## Notable quirks - `.env` is gitignored. Copy `.env.example` to `.env` for local dev. diff --git a/server/prisma/prisma/dev.db b/server/prisma/prisma/dev.db index fcc9ce1f89de289109f295bd63f5d5f0b9a023cb..79361b94d644041837fbae22602c5ea281a675c4 100644 GIT binary patch delta 1862 zcmaJ?Pi)&%9JXUy)GdlLK~{>WDp6Hs8l}&P{|Y3hf(b=}wrCww1%o-Z6DP6b)OOOO zla}^^;Ka}*a-%&UjY4%SFDGXzNVm^T1pAS-3@(g&M zxPbeH=PzicT6>nr<2A>y)v~p~ilWT3f+X>x%;gZ|1$v}V^$2x{;UBp{H$v0S#KZUvyFUJn12nF-)iB4n0r!}H3ns~IKTA*KlhkLorB zByOW5Ww@+qWt>($@eH9Hs%mj)Z?!0@yybCHp;>wF9^Si`xV@-AW*0GQrpN^lO9RZOA!wigQfVc96^Hc`n$>d%ooYs zeyUD`W)dmGfzAW`~M48%`C80q7V_pc`xn@PP$9!(XUxLI+exTDg$M zwD4!r=mwrrPSexa)YusD z1oDs)K^rpUln|%LnsU(>oq%%|axMj&ONYQ%qQ4}6V6r1+4Q4K0pqC=aRG-WxZZj{+ z_=Lj4LDQ2o{2X0=c@xSiO0A0A@(j&xXA3Zi9FG)zyC2R+k&9z{IdTF}73KzW12&L5 z$?lJr$&Wkv#DoG19jntUpd&^7!nFm5wcK*_xN-Ldr%?*$Jd`|4)si4p0lCPw%8sOO zu@P0|i^+ku6R><9&b@6UcBtF^ewj>n-@i%D2Q3fXdjVy&Ac-5k=+%z3yx1cQ9)Da_ z?-uzOI6=bDo`d5}IM6%keE+FG$v>2^8T|%ZFMJ#IQ-EqSoq_fmZ|mg1YW&Owb;eV6 UOlPb$Ls8gV2C)6H9QD`AzX^j#=l}o! delta 1359 zcmZ`(U2M}<6t;71h?}Z66||y=Xb)(t{FK;nocIbh2aRf~CaNG&HZ=YcH;voGi4*6) zTHC!$dmD%ezpd3YZ7<`2bvQ^oY#?4&ctA)z0^+4bh-WluJJ(62(X_VCk?ecUcfRv? zmsWtooP~kCSLzCaN5jB8f~RWm@?g;pNbP+Wp8J*NbK!{5o<-fCz^?e>1b` zID{m@v{E@$5v4@dOwHz3|5<*xoKU3Blp1N>meDYk^D9Hva z{#Oj|>Y(@)z7c-pckD;(NfnT1Y(OTuq8qkR(^KU+brO8$7!4y@E@o|g z)^`ADf>YG^k#8Tf?qlEmum&h;6YO+qS0r{?&g#WlPKwB0{NFozM?`mp-M~ZJg1AAn z5%!LHc(@6~iT!LqWCG&AQ>@{i+Cd9F=!?tEIcpZ!h?yCp)ayn;sZaO>?Ni8#;d#n} zTGYWnq87Ee9GRA4HAk37p}u6kI0bY;x5at17di76dD&TPqF}q)Kvk9lkT2XNBrXoo z*3qmL+PaylQi;ZMigWj0^x-7!2cUrVlHRVzB{rxX6++C2-;efCVp_L8gfdfTr*o}r zHEKtuJ3nn}$6j@dx)embazlHEq+cCx9E|xZo}puQ7OSbe%T&e@jb&KIxjTzww`W+ z3yAz33@?o4!vW{X0(Wx}AU@Y1COn;}bU3mQHAN?^V&taPR<_a2r*}lXGTrLv2}oco zl;Kr?keogfi5bzn73)G7Wr!gY=WC4*^i%)CKXkOaL}_l>pjQjrkn`Q2+(&2W8a2Q* z?X3|}3nkkm@2yb}`TuvMmyi1ww_6-UP=_gy^C0x