bilalgursen
45775c8c3f
feat: prod app.db şemasını açılışta drizzle migration'larıyla eşitle
...
Deploy / deploy (push) Failing after 13s
Volume'deki app.db yalnızca ilk kurulumda seed'den kopyalanıyordu; sonraki
deploy'larda şemaya eklenen kolonlar (son örnek: kredi_bitti_at,
kredi_hatirlatma_gonderildi_at) prod'a hiç ulaşmıyor ve 'no such column'
hatalarıyla kırılıyordu.
- drizzle-kit generate ile baseline migration üretildi (drizzle/0000_baslangic)
- scripts/db-goc.mjs: entrypoint'te server'dan önce koşan migration runner;
drizzle migrator protokolünü birebir taklit eder (__drizzle_migrations,
sha256, created_at=journal.when) ama yalnızca @libsql/client'a dayanır —
drizzle-orm standalone imajda bundle'landığından paket olarak çözülemiyor
- Benimseme: migration kaydı olmayan mevcut volume'lerde baseline additive
uzlaştırılır (IF NOT EXISTS + snapshot'tan eksik kolon ALTER'ları) ve
damgalanır; sonraki migration'lar normal akışla uygulanır
- sema-guvence.ts kaldırıldı: elle DDL aynalama yerini migration'lara bıraktı
- Yeni akış: şema değişikliğinde pnpm db:generate ile migration commit'lenir
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-07 01:05:42 +03:00
bilalgursen
4c618781f6
Docker build'ini optimize et: OOM kökü çözümü + bellek sınırlı builder
...
Deploy / deploy (push) Successful in 7m33s
Prod VPS'te next build sırasında makineyi kilitleyen OOM'un çözümü:
- serverExternalPackages'a @google/genai, @anthropic-ai/sdk, resend eklendi;
Turbopack artık genai'nin protobufjs/google-auth-library/ws zincirini
derlemiyor (c2aba25 sonrası OOM'un tetiği buydu).
- Docker build'inde (BUILD_KAYNAK_KISITLI=1) bellek kısıtları: Turbopack 1.5G
hedefi, statik üretim tek worker × 4 sayfa, prerender source map kapalı.
- Dockerfile: runner'a tam node_modules kopyası kaldırıldı (imaj ~1.9G→966M),
pnpm store + .next/cache BuildKit cache mount'ları, açık COPY listesi,
V8 heap sınırı.
- scripts/standalone-linkleri-onar.sh: Turbopack ESM external'ların kök
node_modules symlink'ini nft trace'ine yazmıyor; eksik linkler build sonrası
tamamlanmazsa runtime MODULE_NOT_FOUND ile düşer.
- ci.yaml: build bellek sınırlı buildx docker-container builder'da (2200m,
max-parallelism 1; BuildKit --memory bayrağını yok sayıyor), deploy
up -d --no-build ile ayrıldı, temizlik if: always() ile her koşuda.
- compose: app'e mem_limit 1g + oom_score_adj -600.
- Kullanılmayan simple-icons ve @react-pdf/renderer kaldırıldı; npm artığı
package-lock.json silindi.
Doğrulama: imaj 2 CPU/2GiB VM'de sıfırdan build edildi, konteynerde ana
sayfa/universite 200 ve üç ESM external import OK.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-06 17:20:17 +03:00
bilalgursen
fc146b0e18
Docker: seed veritabanları + entrypoint (yokatlas.db imaja gömülür, açılışta volume'e kopyalanır)
...
Deploy / deploy (push) Successful in 1m52s
- .dockerignore: data/ içindeki sqlite dosyalarına build context izni
- runner imajına data/ -> /app/seed kopyalanır
- entrypoint: yokatlas.db her açılışta tazelenir, app.db sadece ilk kurulumda tohumlanır
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-26 01:51:36 +03:00
bilalgursen
6d8699005c
Dockerfile: build sırasında data/ dizinini oluştur (libsql SQLITE_CANTOPEN düzeltmesi)
...
Deploy / deploy (push) Successful in 3m33s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-26 01:18:49 +03:00
bilalgursen
43457df3a9
Dockerfile: better-sqlite3 derlemesi için python3/make/g++ ekle
...
Deploy / deploy (push) Failing after 6m12s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-26 01:08:03 +03:00
bilalgursen
312c06abbc
Dockerfile: pnpm sürümünü 10.8.1'e sabitle (pnpm 11 Node 22 istiyor)
...
Deploy / deploy (push) Failing after 50s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-26 01:06:35 +03:00
Muhammed Emin Akalan
2ce0d417dc
Docker & Gitea CI ekle
...
Test / test (push) Successful in 2s
CI / lint-and-build (push) Failing after 1m16s
CI / docker (push) Has been skipped
- Multi-stage Dockerfile (node:20-alpine, pnpm, standalone)
- docker-compose.yml (SQLite volume dahil)
- .dockerignore
- Gitea CI: lint + build + Docker imaj push
- next.config.ts: output standalone eklendi
2026-07-24 04:08:22 +03:00