Drie fixes om de container lokaal (en op de NAS) te kunnen builden en draaien: - Dockerfile: clone scrum4me-mcp zonder --recurse-submodules. De Prisma- schema zit al gecommit in het scrum4me-mcp repo; de vendor/scrum4me submodule is alleen nodig voor schema-updates en wijst naar een privaat repo dat tijdens docker build niet bereikbaar is. - Dockerfile: voeg /usr/sbin en /sbin toe aan PATH zodat gosu (in /usr/sbin/gosu na apt-install) gevonden wordt door entrypoint.sh. Zonder dit faalt de container in een restart loop. - Verplaats alle runner scripts naar bin/ en maak etc/ aan, zodat COPY bin/ en COPY etc/ in de Dockerfile bestanden vinden. Verder: - .gitattributes om CRLF-corruptie van shell scripts op Windows te voorkomen (core.autocrlf=true is default actief). - .gitignore: docker-compose.override.yml uitsluiten zodat lokale dev-overrides niet worden gecommit. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
36 lines
1.2 KiB
Bash
36 lines
1.2 KiB
Bash
#!/usr/bin/env bash
|
|
# rotate-logs.sh — comprimeer oude run-logs en verwijder zeer oude
|
|
#
|
|
# Wordt elke daemon-iteratie aangeroepen. Werkt op:
|
|
# - ${AGENT_LOG_DIR}/runs/*.log (per claude -p invocation)
|
|
# - ${AGENT_LOG_DIR}/jobs/*/*.txt (per job archief)
|
|
#
|
|
# Configurable via env:
|
|
# AGENT_LOG_GZIP_AFTER_HOURS (default 24)
|
|
# AGENT_LOG_DELETE_AFTER_DAYS (default 30)
|
|
|
|
set -uo pipefail
|
|
|
|
source /opt/agent/bin/_lib.sh
|
|
|
|
: "${AGENT_LOG_DIR:=/var/log/agent}"
|
|
: "${AGENT_LOG_GZIP_AFTER_HOURS:=24}"
|
|
: "${AGENT_LOG_DELETE_AFTER_DAYS:=30}"
|
|
|
|
# Convert hours → minutes for find -mmin
|
|
GZIP_AFTER_MIN=$(( AGENT_LOG_GZIP_AFTER_HOURS * 60 ))
|
|
|
|
# 1. Gzip oude .log files in runs/
|
|
find "${AGENT_LOG_DIR}/runs" -maxdepth 1 -type f -name '*.log' \
|
|
-mmin "+${GZIP_AFTER_MIN}" -print 2>/dev/null \
|
|
| while read -r f; do
|
|
gzip -q "$f" || true
|
|
done
|
|
|
|
# 2. Delete zeer oude .gz files in runs/
|
|
find "${AGENT_LOG_DIR}/runs" -maxdepth 1 -type f -name '*.log.gz' \
|
|
-mtime "+${AGENT_LOG_DELETE_AFTER_DAYS}" -delete 2>/dev/null || true
|
|
|
|
# 3. Delete zeer oude job-archieven
|
|
find "${AGENT_LOG_DIR}/jobs" -maxdepth 1 -mindepth 1 -type d \
|
|
-mtime "+${AGENT_LOG_DELETE_AFTER_DAYS}" -exec rm -rf {} + 2>/dev/null || true
|