This repository has been archived on 2025-05-19. You can view files and clone it, but cannot push or open issues or pull requests.
Files
old/iptv
2025-02-24 22:37:29 +08:00

87 lines
2.0 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# https://gist.github.com/anthonyaxenov/89c99e09ddb195985707e2b24a57257d
set -e
[[ -f ./src/svc-main/.env ]] || cp ./src/svc-main/.env.example ./src/svc-main/.env
[[ -f ./.env ]] || cp ./.env.example ./.env
source ./.env
CONTAINER="iptv-main" # the name of the container in which to 'exec' something
CONFIG="$(dirname $([ -L $0 ] && readlink -f $0 || echo $0))/docker-compose.yml" # path to compose yml file
CMD="docker compose -f $CONFIG" # docker-compose command
APP_URL="http://localhost:${IPTV_NGINX_PORT}/"
open_browser() {
if which xdg-open > /dev/null; then
xdg-open "$1" </dev/null >/dev/null 2>&1 & disown
elif which gnome-open > /dev/null; then
gnome-open "$1" </dev/null >/dev/null 2>&1 & disown
fi
}
case "$1" in
# help message
''|'help')
echo -e "Provide one of operations: \t init, start, stop, up, down, restart, rebuild, open, hooks"
echo "Otherwise all args will passed to 'docker exec -ti $CONTAINER ...'"
;;
# quick start
'init')
./iptv hooks
./iptv up
./iptv composer i
echo "Project started successfully! $APP_URL"
;;
# build and start containers
'up')
$CMD up -d --build
./iptv open
;;
# stop and remove containers
'down')
$CMD down --remove-orphans
;;
# start containers
'start')
$CMD start
;;
# stop containers
'stop')
$CMD stop
;;
# restart containers
'restart')
$CMD stop
$CMD start
;;
# rebuild containers
'rebuild')
$CMD down --remove-orphans
$CMD up -d --build
;;
# open url in web-browser
'open')
open_browser $APP_URL
echo -e "\nYou're welcome!\n\t$APP_URL" \
;;
# install git hooks
'hooks')
сp -f hooks/* .git/hooks
;;
# exec anything else in container
*)
docker exec -ti $CONTAINER $*
;;
esac