stacker.news/sndev

90 lines
1.8 KiB
Plaintext
Raw Normal View History

2024-03-07 16:02:59 +00:00
#!/bin/sh
docker__compose() {
2024-03-09 02:07:43 +00:00
CURRENT_UID=$(id -u) CURRENT_GID=$(id -g) command docker compose --env-file .env.sndev "$@"
}
2024-03-10 21:29:10 +00:00
docker__exec() {
exec command docker exec "$@"
}
2024-03-10 21:42:16 +00:00
sndev__docker_stacker_lnd() {
docker__exec -u lnd stacker_lnd lncli "$@"
}
sndev__docker_sn_lnd() {
docker__exec -u lnd sn_lnd lncli "$@"
}
sndev__start() {
if [ ! -x "$(command -v docker-compose)" ]; then
echo "docker compose is not installed"
echo "installation instructions are here: https://docs.docker.com/desktop/"
exit 0
fi
if ! [ -f .env.sndev ]; then
echo ".env.sndev does not exist."
echo "creating from .env.sample"
cp .env.sample .env.sndev
fi
echo "Starting application"
docker__compose up --build
}
sndev__stop() {
echo "Stopping application"
docker__compose down
}
sndev__delete() {
echo "Deleting application"
docker__compose down --volumes --remove-orphans
}
2024-03-10 21:42:16 +00:00
sndev__fund() {
shift
sndev__docker_stacker_lnd payinvoice --force "$@"
}
sndev__withdraw() {
2024-03-10 21:29:10 +00:00
shift
2024-03-10 21:42:16 +00:00
sndev__docker_stacker_lnd addinvoice --amt "$@" | jq -r '.payment_request'
2024-03-10 21:29:10 +00:00
}
sndev__help() {
if [ $# -eq 3 ]; then
call "sndev__$1__$2__$3" "$@"
elif [ $# -eq 2 ]; then
call "sndev__$1__$2" "$@"
else
help="sndev manages a docker based stacker news development environment
USAGE
$ sndev [COMMAND]
COMMANDS
2024-03-10 21:29:10 +00:00
start start env
stop stop env
delete delete env
2024-03-10 21:42:16 +00:00
fund pay bolt11
withdraw make a bolt11 for withdrawal
2024-03-10 21:29:10 +00:00
help display help for sndev
"
echo "$help"
fi
}
call() {
func=$1
if type "$func" 1>/dev/null 2>&1; then
shift
"$func" "$@" # invoke our named function w/ all remaining arguments
else
sndev__help
exit 1
fi
}
call "sndev__$1" "$@"