deepfake-server / deploy /sync_bundle.sh
DevQueen's picture
Sync from GitHub via hub-sync
1dc2504 verified
Raw
History Blame Contribute Delete
1.26 kB
#!/usr/bin/env bash
# Copy runtime files into deploy/ so this folder is the full Docker build context.
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
DEPLOY="$(cd "$(dirname "$0")" && pwd)"
echo "Syncing backend bundle into ${DEPLOY}..."
if [[ ! -f "${ROOT}/outputs/best.pt" ]]; then
echo "ERROR: outputs/best.pt not found. Train epoch 1 first."
exit 1
fi
rm -rf "${DEPLOY}/api" "${DEPLOY}/src" "${DEPLOY}/configs" "${DEPLOY}/outputs"
mkdir -p "${DEPLOY}/outputs"
cp -R "${ROOT}/api" "${DEPLOY}/api"
cp -R "${ROOT}/src" "${DEPLOY}/src"
cp -R "${ROOT}/configs" "${DEPLOY}/configs"
cp "${ROOT}/outputs/best.pt" "${DEPLOY}/outputs/best.pt"
# Drop training-only / heavy modules from deploy copy
rm -f "${DEPLOY}/src/data/stream_ff_dataset.py" \
"${DEPLOY}/src/data/build_metadata.py" \
"${DEPLOY}/src/data/extract_frames.py" \
"${DEPLOY}/src/data/extract_eye_sequences.py" \
"${DEPLOY}/src/train/train.py" \
"${DEPLOY}/src/train/adversarial.py" \
"${DEPLOY}/src/eval/"*.py 2>/dev/null || true
rm -rf "${DEPLOY}/src/eval" "${DEPLOY}/src/train" "${DEPLOY}/src/viz" 2>/dev/null || true
echo "Done. Bundle ready:"
du -sh "${DEPLOY}/outputs/best.pt"
echo "files: $(find "${DEPLOY}" -type f | wc -l | tr -d ' ')"