stack: service distribute (Dockerfile.dist + distribute_loop.py, harian DISTRIBUTE_HOUR)

This commit is contained in:
proitlab committed 2026-08-05 22:22:24 +07:00
1 parent f77681793f
commit 4e02701887
5 files changed
+130 -7

No files matched your search

+25 -2
View File
@@ -1,7 +1,8 @@
# Stack Docker Swarm — deploy via `docker stack deploy -c docker-compose.yml databisnisid`
#
# 3 service: mariadb (storage, internal), web (dashboard gunicorn, publik :5000),
# scan (skan get_voters.py pada SCAN_HOURS, waktu lokal TZ).
# 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).
#
# Catatan swarm:
# - `build:` hanya untuk `docker compose build`; `docker stack deploy` memakai `image:`
@@ -84,6 +85,28 @@ services:
restart_policy:
condition: any
distribute:
image: git.proit.id/proitlab/databisnisid-dist:latest
command: ["python", "distribute_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}
DISTRIBUTE_HOUR: ${DISTRIBUTE_HOUR:-10}
DISTRIBUTE_MAX_ATTEMPTS: ${DISTRIBUTE_MAX_ATTEMPTS:-3}
DATABISNIS_API: ${DATABISNIS_API:-https://api.databisnis.id}
VEX_BP_PRIVATE_KEY: ${VEX_BP_PRIVATE_KEY:-}
networks:
- appnet
deploy:
replicas: 1
restart_policy:
condition: any
networks:
appnet:
driver: overlay