- 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_*
14 lines
329 B
Docker
14 lines
329 B
Docker
FROM python:3.12-slim
|
|
ENV PYTHONUNBUFFERED=1 PIP_NO_CACHE_DIR=1
|
|
WORKDIR /app
|
|
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
COPY config.py db.py dashboard.py gunicorn.conf.py ./
|
|
COPY templates ./templates
|
|
COPY static ./static
|
|
|
|
EXPOSE 5000
|
|
CMD ["gunicorn", "-c", "gunicorn.conf.py", "dashboard:app"]
|