30 lines
1.3 KiB
Bash
Executable File
30 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Run a movies tracker script on stan-ovh against prod, without printing secrets.
|
|
# scripts/movies-run.sh import --netflix ~/imports/ViewingActivity.csv [--dry-run] …
|
|
# scripts/movies-run.sh recs ~/imports/ju-recs.json [--prune]
|
|
# scripts/movies-run.sh tmdb [--retry-not-found]
|
|
# DB_URL (app role) comes from the running app container (db:5432 → 127.0.0.1:5440).
|
|
# TMDB_API_KEY comes from ~/.config/movies/tmdb.env (mode 600, one line TMDB_API_KEY=…), if present.
|
|
# Runs from this checkout; use a checkout of main (e.g. ~/dev/personal-website after a pull).
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/.."
|
|
cmd=${1:?usage: movies-run.sh import|recs|tmdb [args]}
|
|
shift
|
|
case "$cmd" in
|
|
import) script=scripts/movies-import.ts ;;
|
|
recs) script=scripts/movies-recs-import.ts ;;
|
|
tmdb) script=scripts/movies-tmdb.ts ;;
|
|
*) echo "unknown command $cmd (import, recs or tmdb)" >&2; exit 2 ;;
|
|
esac
|
|
DB_URL=$(sudo -n docker inspect personal-website-app-1 --format '{{range .Config.Env}}{{println .}}{{end}}' \
|
|
| sed -n 's/^DB_URL=//p' | sed 's/@db:5432/@127.0.0.1:5440/')
|
|
[ -n "$DB_URL" ] || { echo "no DB_URL from the app container" >&2; exit 1; }
|
|
export DB_URL
|
|
env_file="${MOVIES_ENV_FILE:-$HOME/.config/movies/tmdb.env}"
|
|
if [ -r "$env_file" ]; then
|
|
set -a
|
|
. "$env_file"
|
|
set +a
|
|
fi
|
|
exec bun "$script" "$@"
|