Compare commits
12 Commits
docs
...
66df86f1aa
| Author | SHA1 | Date | |
|---|---|---|---|
|
66df86f1aa
|
|||
|
24a5f988a3
|
|||
|
28f93bd9a6
|
|||
|
70847623e8
|
|||
|
68d051c36e
|
|||
|
1456237de2
|
|||
|
fbc5ea4428
|
|||
|
c49b6b979d
|
|||
|
10bf297543
|
|||
|
4d2cfe8030
|
|||
|
ea700fc0fe
|
|||
|
13de506761
|
@@ -1,4 +1,4 @@
|
||||
IPTV_ENV=prod
|
||||
IPTV_ENV=dev
|
||||
|
||||
KEYDB_UID=1000
|
||||
KEYDB_GID=1000
|
||||
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,7 +1,10 @@
|
||||
/.idea/
|
||||
/.vscode/
|
||||
/docker/keydb/data/*
|
||||
/log/**/*
|
||||
/iptvc/
|
||||
/web/
|
||||
/docs/
|
||||
/playlists/
|
||||
/tools/
|
||||
/.profile/
|
||||
|
||||
@@ -21,10 +21,11 @@ services:
|
||||
container_name: iptv-keydb
|
||||
image: eqalpha/keydb:latest
|
||||
user: ${KEYDB_UID}:${KEYDB_GID}
|
||||
entrypoint: ["sh", "/entrypoint.sh"]
|
||||
volumes:
|
||||
- ./docker/keydb/entrypoint.sh:/entrypoint.sh
|
||||
- ./docker/keydb/keydb.conf:/etc/keydb/keydb.conf
|
||||
- ./docker/keydb/data/:/data:rw
|
||||
- ./log/keydb:/var/log/keydb/:rw
|
||||
ports:
|
||||
- ${KEYDB_PORT:-6379}:6379
|
||||
|
||||
|
||||
4
docker/keydb/entrypoint.sh
Normal file
4
docker/keydb/entrypoint.sh
Normal file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
trap 'echo "Received SIGTERM, saving KeyDB data..."; keydb-cli SAVE; echo "Data saved. Exiting."; exit 0' TERM
|
||||
echo "[entrypoint] Starting KeyDB..."
|
||||
exec keydb-server /etc/keydb/keydb.conf "$@"
|
||||
File diff suppressed because it is too large
Load Diff
@@ -16,7 +16,7 @@ RUN apt update && \
|
||||
RUN pecl channel-update pecl.php.net && \
|
||||
pecl install redis-6.1.0
|
||||
|
||||
RUN docker-php-ext-enable xdebug redis && \
|
||||
RUN docker-php-ext-enable redis && \
|
||||
docker-php-ext-configure gd --with-jpeg && \
|
||||
docker-php-ext-install gd
|
||||
|
||||
|
||||
1
docs
1
docs
Submodule docs deleted from 3a2eca9e15
38
iptv
38
iptv
@@ -338,6 +338,7 @@ docker.build_base_images() {
|
||||
# done
|
||||
subtitle "Построение образов"
|
||||
docker.compose build
|
||||
[ ! -d web/cache/views ] && mkdir -p web/cache/views
|
||||
|
||||
success "Базовые образы построены"
|
||||
}
|
||||
@@ -432,7 +433,7 @@ find_services_compose() {
|
||||
|
||||
[ "$*" ] && for svc in "$@"; do
|
||||
grep_match "$svc" "^--?.*" && continue
|
||||
svc="$(find_service_compose "$svc")"
|
||||
svc="$(find_service_compose "${svc/iptv-/}")"
|
||||
services="$services $svc"
|
||||
done
|
||||
|
||||
@@ -494,12 +495,11 @@ up() {
|
||||
process_help_arg
|
||||
subtitle "Создание и запуск контейнеров"
|
||||
|
||||
argl profiles 0 profiles
|
||||
|
||||
local services=''
|
||||
[ "$*" ] && services="$(find_services_compose "$@")"
|
||||
|
||||
COMPOSE_PROFILES="$profiles" docker.compose up "$services" --build --detach --remove-orphans && \
|
||||
[ ! -d web/cache/views ] && mkdir -p web/cache/views
|
||||
docker.compose up "$services" --build --detach --remove-orphans && \
|
||||
success 'Среда запущена успешно'
|
||||
}
|
||||
|
||||
@@ -522,13 +522,10 @@ down() {
|
||||
process_help_arg
|
||||
subtitle "Остановка и удаление контейнеров"
|
||||
|
||||
argl profiles 0 profiles
|
||||
[[ -z "$profiles" ]] && profiles="full"
|
||||
|
||||
local services=''
|
||||
[ "$*" ] && services="$(find_services_compose "$@")"
|
||||
|
||||
COMPOSE_PROFILES="$profiles" docker.compose down "$services" --remove-orphans && \
|
||||
docker.compose down "$services" --remove-orphans && \
|
||||
success 'Среда остановлена успешно'
|
||||
}
|
||||
|
||||
@@ -554,7 +551,7 @@ rebuild() {
|
||||
is_full=$(arg full 1)
|
||||
[ "$is_full" = 0 ] && is_full=$(argl full 1)
|
||||
|
||||
[ -n "$*" ] && down "$@"
|
||||
[ -n "$*" ] && down "$@" || down
|
||||
[ "$is_full" = 1 ] && docker.build_base_images
|
||||
|
||||
up "$@"
|
||||
@@ -579,6 +576,27 @@ purge() {
|
||||
success 'Образы удалены успешно'
|
||||
}
|
||||
|
||||
# Выполняет команду в контейнере
|
||||
exec() {
|
||||
process_help_arg
|
||||
as_root=0
|
||||
svc="$1"
|
||||
regex_match "$svc" "--?r(oot)?" && { as_root=1; shift; svc="$1"; }
|
||||
|
||||
svc_correct="iptv-$(find_service_compose "$svc")"
|
||||
command=("${@:2}")
|
||||
regex_match "${command[0]}" "--?r(oot)?" && { as_root=1; unset "command[0]"; }
|
||||
|
||||
[[ -z "${command[*]}" ]] && die "не указана команда для выполнения в контейнере"
|
||||
|
||||
#TODO многострочные команды прокидываются корректно, но выполняется только первая строка?
|
||||
if [[ "$as_root" == 1 ]]; then
|
||||
docker.exec "$svc_correct" "${command[*]}"
|
||||
else
|
||||
docker.exec_www "$svc_correct" "${command[*]}"
|
||||
fi
|
||||
}
|
||||
|
||||
# Выводит логи сервиса
|
||||
logs() {
|
||||
process_help_arg
|
||||
@@ -602,7 +620,6 @@ stats() {
|
||||
docker.compose stats "$@"
|
||||
}
|
||||
|
||||
|
||||
########################################################
|
||||
# Команды справки
|
||||
########################################################
|
||||
@@ -827,6 +844,7 @@ case "$COMMAND" in
|
||||
stop ) stop "$@" ;;
|
||||
r|rebuild ) rebuild "$@" ;;
|
||||
restart ) restart "$@" ;;
|
||||
exec ) exec "$@" ;;
|
||||
purge ) purge ;;
|
||||
logs ) logs "$@" ;;
|
||||
stats ) stats "$@" ;;
|
||||
|
||||
Reference in New Issue
Block a user