add ssh-tunnel service and functions
This commit is contained in:
parent
6944ab1e25
commit
b3df5795f2
4 changed files with 47 additions and 13 deletions
|
|
@ -1,4 +1,3 @@
|
||||||
[Pod]
|
[Pod]
|
||||||
PodName=databases
|
PodName=databases
|
||||||
PublishPort=9090:3000
|
|
||||||
PublishPort=5432:5432
|
PublishPort=5432:5432
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,11 @@
|
||||||
[Container]
|
[Container]
|
||||||
Image=docker.io/dbgate/dbgate
|
Image=docker.io/adminneoorg/adminneo
|
||||||
AutoUpdate=registry
|
AutoUpdate=registry
|
||||||
Pod=dev-databases.pod
|
Network=host
|
||||||
Environment=CONNECTIONS=POSTGRES
|
Environment=NEO_THEME=default
|
||||||
Environment=LABEL_POSTGRES="Localhost Postgres"
|
Environment=NEO_COLOR_VARIANT=green
|
||||||
Environment=ENGINE_POSTGRES=postgres@dbgate-plugin-postgres
|
Environment=NEO_JSON_VALUES_DETECTION=true
|
||||||
Environment=SERVER_POSTGRES=localhost
|
Environment=NEO_JSON_VALUES_AUTO_FORMAT=true
|
||||||
Environment=PORT_POSTGRES=5432
|
Environment=NEO_NAVIGATION_MODE=dual
|
||||||
Environment=USER_POSTGRES=postgres
|
Environment=NEO_PREFER_SELECTION=true
|
||||||
Environment=PASSWORD_POSTGRES=1234
|
Environment=NEO_RELATION_LINKS=true
|
||||||
|
|
||||||
[Service]
|
|
||||||
ExecStartPost=/usr/bin/xdg-open http://localhost:9090
|
|
||||||
|
|
|
||||||
28
configs/fish/functions/ssh-tunnel.fish
Normal file
28
configs/fish/functions/ssh-tunnel.fish
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
function ssh-tunnel
|
||||||
|
set -l label "Select SSH tunnel to activate:"
|
||||||
|
|
||||||
|
set -l tunnel (fd . ~/.ssh/tunnels.d/ | fzf -d / --with-nth=6 --accept-nth=6 --nth=6 --preview='bat {}' --input-label=foo --input-label-pos=bottom | cut -d "." -f 1)
|
||||||
|
|
||||||
|
if test -z $tunnel
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
envsource "$HOME/.ssh/tunnels.d/$tunnel.conf"
|
||||||
|
|
||||||
|
echo "Activating connection $tunnel..."
|
||||||
|
|
||||||
|
if not systemctl --user is-active "database-ssh-tunnel@$tunnel.service" -q
|
||||||
|
systemctl --user start "database-ssh-tunnel@$tunnel.service"
|
||||||
|
end
|
||||||
|
|
||||||
|
if test (string lower $DB_START_EXPLORER) = "true"
|
||||||
|
echo "Opening Databse in browser, password will be copied to the clipboard..."
|
||||||
|
|
||||||
|
if not systemctl --user is-active "dev-dbui.service" -q
|
||||||
|
systemctl --user start "dev-dbui.service"
|
||||||
|
end
|
||||||
|
|
||||||
|
wl-copy "$DB_PASSWORD"
|
||||||
|
xdg-open "http://localhost:8080?$DB_DRIVER=$TUNNEL_LOCAL_ADDRESS:$TUNNEL_LOCAL_PORT&username=$DB_USER&db=$DB_NAME&ns=public"
|
||||||
|
end
|
||||||
|
end
|
||||||
10
configs/systemd/user/database-ssh-tunnel@.service
Normal file
10
configs/systemd/user/database-ssh-tunnel@.service
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
[Unit]
|
||||||
|
Description=SSH Persistent port forward for %i, makes available remote port locally
|
||||||
|
After=network-online.target
|
||||||
|
Wants=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
EnvironmentFile=%h/.ssh/tunnels.d/%i.conf
|
||||||
|
ExecStart=/usr/bin/ssh -NT -o ExitOnForwardFailure=yes -o ServerAliveInterval=60 -o ServerAliveCountMax=3 -L ${TUNNEL_LOCAL_ADDRESS}:${TUNNEL_LOCAL_PORT}:${TUNNEL_REMOTE_ADDRESS}:${TUNNEL_REMOTE_PORT} ${TUNNEL_SSH_HOST}
|
||||||
|
RestartSec=3
|
||||||
|
Restart=always
|
||||||
Loading…
Add table
Add a link
Reference in a new issue