diff --git a/README.md b/README.md
index 131339f..5777a40 100644
--- a/README.md
+++ b/README.md
@@ -49,6 +49,7 @@ I'm too lazy to translate and support the whole project in ru and en, sorry, guy
---
+
## Как использовать этот список?
Чтобы подключить плейлист, нужно в настройках медиаплеера указать ссылку в следующем формате:
@@ -64,6 +65,7 @@ iptv.axenov.dev/? (устаревший формат)
Либо провернуть всё то же самое через браузер.
+
## Формат `playlists.ini`
```ini
@@ -98,6 +100,7 @@ redirect = 1
Плейлистов с редиректами может быть сколько угодно, но они не должны быть цикличными.
+
## API
Можно получать состояние плейлистов из этого сборника при помощи метода:
@@ -181,11 +184,18 @@ GET https://iptv.axenov.dev//json
* `message` -- текст ошибки curl
+
## Развёртывание проекта
-1. Выполнить `cp src/.env.example src/.env`, установить необходимые параметры
-2. Выполнить `docker compose up -d --build`
-3. Открыть `http://:8080`
+### Aвтоматически
+
+Выполнить `./iptv init`
+
+### Вручную
+
+1. Выполнить `cp src/.env.example src/.env`, установить необходимые параметры в файле `src/.env`
+2. Выполнить `docker compose up -d --build` (или `./iptv up`)
+3. Открыть `http://:8080` в браузере (или `./iptv open`)
Если на сервере, на котором запускаются контейнеры, стоит apache2, то его можно использовать как реверс прокси:
@@ -235,6 +245,7 @@ $ sudo systemctl restart apache2
```
+
## Дополнительные инструменты (`./tools`)
### `download-all.sh`
@@ -367,6 +378,7 @@ http://live02-cdn.tv.ti.ru:80/dtv/id376_NBN_SG--Fox_HD/04/plst.m3u8
```
+
## Как создать свой собственный плейлист?
1. Скачать все плейлисты, указанные в [`playlists.ini`](playlists.ini):
@@ -389,6 +401,7 @@ http://live02-cdn.tv.ti.ru:80/dtv/id376_NBN_SG--Fox_HD/04/plst.m3u8
5. Вручную: добавить плейлист в IPTV-плеер и перепроверить результат.
+
## Использованный стек
* [docker compose](https://docs.docker.com/compose/)
@@ -399,6 +412,7 @@ http://live02-cdn.tv.ti.ru:80/dtv/id376_NBN_SG--Fox_HD/04/plst.m3u8
* bash
+
## Лицензия
[The MIT License](LICENSE)
diff --git a/iptv b/iptv
new file mode 100755
index 0000000..9d59a10
--- /dev/null
+++ b/iptv
@@ -0,0 +1,29 @@
+#!/bin/bash
+# https://gist.github.com/anthonyaxenov/89c99e09ddb195985707e2b24a57257d
+
+CONTAINER="iptv-php" # 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:8080/'
+
+open_browser() {
+ if which xdg-open > /dev/null; then
+ xdg-open "$1" /dev/null 2>&1 & disown
+ elif which gnome-open > /dev/null; then
+ gnome-open "$1" /dev/null 2>&1 & disown
+ fi
+}
+
+case "$1" in
+ '' | 'help' ) echo -e "Provide one of operations: \t init, start, stop, up, down, restart, rebuild, open";
+ echo "Otherwise all args will passed to 'docker exec -ti $CONTAINER ...'" ;;
+ 'init' ) cp src/.env.example src/.env && nano src/.env && ./iptv up && ./iptv composer i && ./iptv open && echo -e "\nYou're welcome!\n\t$APP_URL";;
+ 'up' ) $CMD up -d --build && ./iptv open ;; # build and start containers
+ 'down' ) $CMD down --remove-orphans ;; # stop and remove containers
+ 'start' ) $CMD start && ./iptv open ;; # start containers
+ 'stop' ) $CMD stop ;; # stop containers
+ 'restart' ) $CMD stop && $CMD start ;; # restart containers
+ 'rebuild' ) $CMD down --remove-orphans && $CMD up -d --build ;; # rebuild containers
+ 'open' ) open_browser $APP_URL ;;
+ * ) docker exec -ti $CONTAINER $@ # exec anything else in container
+esac
diff --git a/src/.env.example b/src/.env.example
index 33ed7cc..de4c437 100644
--- a/src/.env.example
+++ b/src/.env.example
@@ -1,5 +1,5 @@
-APP_TITLE=
-APP_URL=
+APP_TITLE='Плейлисты IPTV'
+APP_URL=http://localhost:8080
TWIG_CACHE=1
TWIG_DEBUG=0
FLIGHT_CASE_SENSITIVE=0