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

This commit is contained in:
proitlab committed 2026-08-06 06:30:19 +07:00
1 parent d3a0e768a0
commit b1e6e93796
14 files changed
+878 -72

No files matched your search

+41 -7
View File
@@ -1,8 +1,9 @@
# Stack Docker Swarm — deploy via `docker stack deploy -c docker-compose.yml databisnisid`
#
# 4 service: mariadb (storage, internal), web (dashboard gunicorn, publik :5000),
# scan (skan get_voters.py pada SCAN_HOURS, waktu lokal TZ), dan
# distribute (pembayaran harian distribute.py pada DISTRIBUTE_HOUR).
# 5 service: mariadb (storage, internal), web (dashboard gunicorn, publik :5000),
# scan (skan get_voters.py pada SCAN_HOURS, waktu lokal TZ),
# distribute (pembayaran harian distribute.py pada DISTRIBUTE_HOUR), dan
# claim (klaim reward BP harian claim_loop.py + fee 10% ke VEX_BP_FEE_WALLET).
#
# Catatan swarm:
# - `build:` hanya untuk `docker compose build`; `docker stack deploy` memakai `image:`
@@ -62,6 +63,9 @@ services:
start_period: 20s
deploy:
replicas: 1
placement:
constraints:
- node.hostname != server2U
restart_policy:
condition: any
@@ -82,6 +86,9 @@ services:
- appnet
deploy:
replicas: 1
placement:
constraints:
- node.hostname != server2U
restart_policy:
condition: any
@@ -98,6 +105,7 @@ services:
TZ: ${TZ:-Asia/Jakarta}
DISTRIBUTE_HOUR: ${DISTRIBUTE_HOUR:-10}
DISTRIBUTE_MAX_ATTEMPTS: ${DISTRIBUTE_MAX_ATTEMPTS:-3}
DISTRIBUTE_ENABLED: ${DISTRIBUTE_ENABLED:-false}
DATABISNIS_API: ${DATABISNIS_API:-https://api.databisnis.id}
volumes:
- /mnt/nfs/server5.saltis.id/data/databisnisid/app/config.env:/app/.env:ro
@@ -105,13 +113,39 @@ services:
- appnet
deploy:
replicas: 1
placement:
constraints:
- node.hostname != server2U
restart_policy:
condition: any
claim:
image: git.proit.id/proitlab/databisnisid-claim:latest
command: ["python", "claim_loop.py"]
environment:
VEX_DB_BACKEND: mysql
VEX_DB_HOST: mariadb
VEX_DB_PORT: "3306"
VEX_DB_USER: ${MARIADB_USER:-databisnis}
VEX_DB_PASS: ${MARIADB_PASSWORD:-databisnis}
VEX_DB_NAME: ${MARIADB_DATABASE:-databisnisid}
TZ: ${TZ:-Asia/Jakarta}
CLAIM_RETRY_SECONDS: ${CLAIM_RETRY_SECONDS:-60}
VEX_BP_FEE_WALLET: ${VEX_BP_FEE_WALLET:-bpdbsjasprod}
VEX_BP_FEE_PERCENT: ${VEX_BP_FEE_PERCENT:-0.10}
DATABISNIS_API: ${DATABISNIS_API:-https://api.databisnis.id}
volumes:
- /mnt/nfs/server5.saltis.id/data/databisnisid/app/config.env:/app/.env:ro
networks:
- appnet
deploy:
replicas: 1
placement:
constraints:
- node.hostname != server2U
restart_policy:
condition: any
networks:
appnet:
driver: overlay
# volume khusus stack — jangan pakai mariadb_data (milik docker-compose.dev.yml)
volumes:
db_data: