mirror of
https://github.com/RipleyBooya/ssh-tunnel.git
synced 2025-12-13 00:18:37 +01:00
Delete entrypoint.tailscale_pgbouncer.sh
This commit is contained in:
parent
1029cc0945
commit
5ba644ee6f
1 changed files with 0 additions and 92 deletions
|
|
@ -1,92 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
# Vérification des variables d'environnement requises
|
||||
if [ -z "$SSH_HOST" ] || [ -z "$SSH_USER" ] || [ -z "$REMOTE_PORTS" ] || [ -z "$LOCAL_PORTS" ]; then
|
||||
echo "ERROR: Required variables (SSH_HOST, SSH_USER, REMOTE_PORTS, LOCAL_PORTS) are missing."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Vérification des paramètres de Tailscale
|
||||
if [ -z "$TAILSCALE_PARAM" ] && [ -z "$TAILSCALE_AUTH_KEY" ]; then
|
||||
echo "ERROR: Either TAILSCALE_PARAM or TAILSCALE_AUTH_KEY must be set."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Démarrage de Tailscale en arrière-plan
|
||||
echo "Starting Tailscale..."
|
||||
exec tailscaled --state=/var/lib/tailscale/tailscaled.state --socket=/var/run/tailscale/tailscaled.sock &
|
||||
|
||||
sleep 5
|
||||
|
||||
# Construction de la commande Tailscale
|
||||
TS_CMD="tailscale up"
|
||||
|
||||
if [ -n "$TAILSCALE_AUTH_KEY" ]; then
|
||||
TS_CMD="$TS_CMD --auth-key=$TAILSCALE_AUTH_KEY"
|
||||
fi
|
||||
|
||||
if [ -n "$TAILSCALE_PARAM" ]; then
|
||||
TS_CMD="$TS_CMD $TAILSCALE_PARAM"
|
||||
fi
|
||||
|
||||
echo "Connecting to Tailscale with: $TS_CMD"
|
||||
|
||||
# Exécution sécurisée avec `eval` et capture des erreurs
|
||||
if ! eval "$TS_CMD"; then
|
||||
echo "ERROR: Tailscale failed to start."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Vérification que Tailscale est bien actif
|
||||
if ! tailscale status; then
|
||||
echo "ERROR: Tailscale is not running."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Vérification et copie de la clé SSH
|
||||
if [ -f "/tmp/id_rsa" ]; then
|
||||
echo "Copying SSH key..."
|
||||
cp /tmp/id_rsa /root/.ssh/id_rsa
|
||||
chmod 600 /root/.ssh/id_rsa
|
||||
else
|
||||
echo "ERROR: SSH key is missing."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Nettoyage des logs au démarrage
|
||||
echo "" > /var/log/ssh-tunnel/tunnel.log
|
||||
|
||||
# Génération de la configuration logrotate
|
||||
envsubst < /logrotate.template > /etc/logrotate.d/ssh-tunnel
|
||||
|
||||
# Construction de la commande SSH Tunnel
|
||||
TUNNEL_CMD=""
|
||||
LOCAL_PORT_ARRAY=($LOCAL_PORTS)
|
||||
REMOTE_PORT_ARRAY=($REMOTE_PORTS)
|
||||
|
||||
for i in "${!LOCAL_PORT_ARRAY[@]}"; do
|
||||
TUNNEL_CMD="$TUNNEL_CMD -L 127.0.0.1:${LOCAL_PORT_ARRAY[$i]}:127.0.0.1:${REMOTE_PORT_ARRAY[$i]}"
|
||||
done
|
||||
|
||||
echo "Starting SSH tunnel to $SSH_USER@$SSH_HOST"
|
||||
echo "Configured tunnels:"
|
||||
for i in "${!LOCAL_PORT_ARRAY[@]}"; do
|
||||
echo "- ${LOCAL_PORT_ARRAY[$i]} -> ${REMOTE_PORT_ARRAY[$i]}"
|
||||
done
|
||||
|
||||
exec autossh -M 0 \
|
||||
-o "StrictHostKeyChecking=no" \
|
||||
-o "UserKnownHostsFile=/dev/null" \
|
||||
-o "ServerAliveInterval=60" \
|
||||
-o "ServerAliveCountMax=3" \
|
||||
-o "Compression=yes" \
|
||||
-N $TUNNEL_CMD $SSH_USER@$SSH_HOST &
|
||||
|
||||
# Attendre que le tunnel soit établi
|
||||
sleep 5
|
||||
|
||||
# Démarrer PgBouncer après l'établissement du tunnel SSH
|
||||
echo "Starting PgBouncer..."
|
||||
exec pgbouncer /etc/pgbouncer/pgbouncer.ini
|
||||
Loading…
Add table
Reference in a new issue