Files
2026-04-18 23:11:35 +02:00

26 lines
789 B
Bash
Executable File

#!/usr/bin/env bash
#
# Open an SSH tunnel that exposes prod Postgres on localhost:5433. Useful
# for running `psql`, `supabase db push`, or any GUI DB client against prod.
#
# The prod Postgres container only listens on the host's localhost:5432, so
# we need an SSH tunnel to reach it from the Mac. Tunnel stays open until
# Ctrl+C.
#
# Usage:
# ./scripts/prod/tunnel-db.sh
# # then in another terminal:
# psql -h localhost -p 5433 -U postgres -d postgres
set -euo pipefail
here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${here}/config.sh"
local_port="${1:-5433}"
echo "tunnel: localhost:${local_port}${SSH_HOST}:localhost:5432"
echo "press Ctrl+C to close"
# shellcheck disable=SC2086
exec ssh ${SSH_OPTS} -N -L "${local_port}:localhost:5432" "${SSH_HOST}"