proitlab
|
a6db3be436
|
jadwal distribusi multi-hari Rabu & Sabtu (V44/T49): DISTRIBUTE_WEEKDAY=wed,sat (CSV), next_boundary pilih hari terdekat, banner BERITA SETIAP RABU & SABTU ; image web+dist rebuild + push
|
2026-08-07 15:49:26 +07:00 |
|
proitlab
|
bdb5923097
|
compose: publik port web 5000 → 5001 (host)
|
2026-08-07 12:08:54 +07:00 |
|
proitlab
|
192e27aff3
|
first run distribusi baked 17 Agt 2026 (config default + loop via config + compose) ; saldo liquid pindah paling kiri ; empty-state history jadi BELUM ADA DISTRIBUSI
|
2026-08-06 21:35:19 +07:00 |
|
proitlab
|
2f1f19c435
|
jadwal distribusi mingguan + banner BERITA jadwal berikutnya di dashboard (V37/V38, T43/T44)
|
2026-08-06 19:05:03 +07:00 |
|
proitlab
|
b1e6e93796
|
klaim reward BP harian (claim service V32-V34) + kill-switch DISTRIBUTE_ENABLED (V35) + Telegram dua kanal komunitas/internal (V30/V36) + placement web/scan/dist/claim != server2U
|
2026-08-06 06:30:19 +07:00 |
|
proitlab
|
83e294dec8
|
stack: distribute baca VEX_BP_PRIVATE_KEY dari bind NFS config.env:/app/.env:ro (bukan interpolasi)
|
2026-08-05 22:34:30 +07:00 |
|
proitlab
|
4e02701887
|
stack: service distribute (Dockerfile.dist + distribute_loop.py, harian DISTRIBUTE_HOUR)
|
2026-08-05 22:22:24 +07:00 |
|
proitlab
|
656f26085f
|
T18: stack swarm docker — image web+scan, scan_loop.py, mariadb bind-mount server5.saltis.id
- Dockerfile (web) + Dockerfile.scan (scan; sertakan tzdata) + .dockerignore
- scan_loop.py: jadwal skan SCAN_HOURS (0,8,16 lokal via TZ) + skan-awal SCAN_RUN_ON_START; loop tak keluar; tunggu DB siap
- docker-compose.yml → STACK SWARM produksi (mariadb bind mount /data/db/mariadb/databisnisid/data + placement node.hostname == server5.saltis.id; web :5000; scan); image dari registry git.proit.id/proitlab/databisnisid-{web,scan}
- docker-compose.dev.yml: mariadb uji lokal (127.0.0.1:3306) — pengganti docker-compose.yml lama
- SPEC.md §V18/T18; AGENTS.md runbook swarm + dev compose
- .env.example: TZ/SCAN_HOURS/SCAN_RUN_ON_START/MARIADB_*
|
2026-08-05 14:26:29 +07:00 |
|
proitlab
|
fdb5d0de15
|
T17: backend penyimpanan bersama db.py (sqlite | mysql via PyMySQL)
- db.py: abstraksi connect/query/queryone/replace_snapshot; %s → ? utk sqlite;
replace snapshot mysql = CREATE IF NOT EXISTS + DELETE + INSERT (MVCC)
- config/.env.example: VEX_DB_BACKEND (default sqlite) + VEX_DB_HOST/PORT/USER/PASS/NAME
- get_voters.persist → db.replace_snapshot; dashboard baca via db.query
- LIKE pakai ESCAPE '!' (backslash memutus literal string MySQL, B2);
db.query selalu kembalikan list (PyMySQL tuple vs sqlite list, B3)
- docker-compose.yml: kontainer uji mariadb:11 (databisnisid-mariadb, 127.0.0.1:3306)
- test_mariadb.py: suite integrasi opt-in (skip bila bukan mysql)
- SPEC.md §V17/T17/B2/B3; AGENTS.md runbook
|
2026-08-05 12:41:17 +07:00 |
|