- Serve /dist and /src with Cache-Control: no-cache so browsers always revalidate the webpack bundle (it has a fixed filename with no content hash, so a stale browser cache was hiding the new Remove Background model dropdown after the rebuild). - Enable BEN2's refine_foreground pass by default - it's the model's own documented option for preserving fine/semi-transparent edge detail (text borders, light rays) instead of a harder cutout, at a small speed cost. - Make install-local-gpu.sh and bring-up-local-gpu.sh pre-create ./data as the invoking non-root user before Docker ever runs, so its daemon never gets a chance to auto-create those bind-mount dirs as root. - Make prefetch-models.sh self-heal a root-owned ./data automatically (sudo chown) instead of erroring out with a manual fix-it command. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ro4PwQKvSc3CH19LSN21Ht
36 lines
1.4 KiB
Bash
Executable File
36 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# bring-up-local-gpu.sh — start the GPU container.
|
|
#
|
|
# Run this each time you want to start the app.
|
|
# Run ./install-local-gpu.sh once first on a new machine.
|
|
#
|
|
# If models fail to download inside the container (DNS/firewall blocked),
|
|
# run ./prefetch-models.sh first — it downloads them on the host into
|
|
# ./data/, which this container already bind-mounts, so no rebuild needed.
|
|
#
|
|
# Usage:
|
|
# ./bring-up-local-gpu.sh # start (detached, rebuild if needed)
|
|
# ./bring-up-local-gpu.sh --no-build # start without rebuilding
|
|
# ./bring-up-local-gpu.sh down # stop and remove container
|
|
# ./bring-up-local-gpu.sh logs -f # tail logs
|
|
#
|
|
# Force pip layer rebuild (e.g. after requirements change):
|
|
# BUILDID=$(date +%s) ./bring-up-local-gpu.sh
|
|
|
|
set -euo pipefail
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
# Pre-create ./data as the current (non-root) user. Otherwise, on a fresh
|
|
# checkout, Docker's daemon (root) auto-creates these bind-mount sources on
|
|
# the first 'up' — leaving them root-owned and blocking this same user from
|
|
# later writing to them without sudo (e.g. ./prefetch-models.sh). No-op if
|
|
# they already exist, regardless of current ownership.
|
|
mkdir -p data/models data/hf_cache data/projects data/patches
|
|
|
|
if [ $# -eq 0 ]; then
|
|
exec docker compose -f docker-compose.gpu.yml up -d --build
|
|
else
|
|
exec docker compose -f docker-compose.gpu.yml "$@"
|
|
fi
|