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_UID=1000
|
||||||
KEYDB_GID=1000
|
KEYDB_GID=1000
|
||||||
|
|||||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,7 +1,10 @@
|
|||||||
/.idea/
|
/.idea/
|
||||||
/.vscode/
|
/.vscode/
|
||||||
|
/docker/keydb/data/*
|
||||||
|
/log/**/*
|
||||||
/iptvc/
|
/iptvc/
|
||||||
/web/
|
/web/
|
||||||
|
/docs/
|
||||||
/playlists/
|
/playlists/
|
||||||
/tools/
|
/tools/
|
||||||
/.profile/
|
/.profile/
|
||||||
|
|||||||
@@ -21,10 +21,11 @@ services:
|
|||||||
container_name: iptv-keydb
|
container_name: iptv-keydb
|
||||||
image: eqalpha/keydb:latest
|
image: eqalpha/keydb:latest
|
||||||
user: ${KEYDB_UID}:${KEYDB_GID}
|
user: ${KEYDB_UID}:${KEYDB_GID}
|
||||||
|
entrypoint: ["sh", "/entrypoint.sh"]
|
||||||
volumes:
|
volumes:
|
||||||
|
- ./docker/keydb/entrypoint.sh:/entrypoint.sh
|
||||||
- ./docker/keydb/keydb.conf:/etc/keydb/keydb.conf
|
- ./docker/keydb/keydb.conf:/etc/keydb/keydb.conf
|
||||||
- ./docker/keydb/data/:/data:rw
|
- ./docker/keydb/data/:/data:rw
|
||||||
- ./log/keydb:/var/log/keydb/:rw
|
|
||||||
ports:
|
ports:
|
||||||
- ${KEYDB_PORT:-6379}:6379
|
- ${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 && \
|
RUN pecl channel-update pecl.php.net && \
|
||||||
pecl install redis-6.1.0
|
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-configure gd --with-jpeg && \
|
||||||
docker-php-ext-install gd
|
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
|
# done
|
||||||
subtitle "Построение образов"
|
subtitle "Построение образов"
|
||||||
docker.compose build
|
docker.compose build
|
||||||
|
[ ! -d web/cache/views ] && mkdir -p web/cache/views
|
||||||
|
|
||||||
success "Базовые образы построены"
|
success "Базовые образы построены"
|
||||||
}
|
}
|
||||||
@@ -432,7 +433,7 @@ find_services_compose() {
|
|||||||
|
|
||||||
[ "$*" ] && for svc in "$@"; do
|
[ "$*" ] && for svc in "$@"; do
|
||||||
grep_match "$svc" "^--?.*" && continue
|
grep_match "$svc" "^--?.*" && continue
|
||||||
svc="$(find_service_compose "$svc")"
|
svc="$(find_service_compose "${svc/iptv-/}")"
|
||||||
services="$services $svc"
|
services="$services $svc"
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -494,12 +495,11 @@ up() {
|
|||||||
process_help_arg
|
process_help_arg
|
||||||
subtitle "Создание и запуск контейнеров"
|
subtitle "Создание и запуск контейнеров"
|
||||||
|
|
||||||
argl profiles 0 profiles
|
|
||||||
|
|
||||||
local services=''
|
local services=''
|
||||||
[ "$*" ] && services="$(find_services_compose "$@")"
|
[ "$*" ] && 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 'Среда запущена успешно'
|
success 'Среда запущена успешно'
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -522,13 +522,10 @@ down() {
|
|||||||
process_help_arg
|
process_help_arg
|
||||||
subtitle "Остановка и удаление контейнеров"
|
subtitle "Остановка и удаление контейнеров"
|
||||||
|
|
||||||
argl profiles 0 profiles
|
|
||||||
[[ -z "$profiles" ]] && profiles="full"
|
|
||||||
|
|
||||||
local services=''
|
local services=''
|
||||||
[ "$*" ] && services="$(find_services_compose "$@")"
|
[ "$*" ] && services="$(find_services_compose "$@")"
|
||||||
|
|
||||||
COMPOSE_PROFILES="$profiles" docker.compose down "$services" --remove-orphans && \
|
docker.compose down "$services" --remove-orphans && \
|
||||||
success 'Среда остановлена успешно'
|
success 'Среда остановлена успешно'
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -554,7 +551,7 @@ rebuild() {
|
|||||||
is_full=$(arg full 1)
|
is_full=$(arg full 1)
|
||||||
[ "$is_full" = 0 ] && is_full=$(argl full 1)
|
[ "$is_full" = 0 ] && is_full=$(argl full 1)
|
||||||
|
|
||||||
[ -n "$*" ] && down "$@"
|
[ -n "$*" ] && down "$@" || down
|
||||||
[ "$is_full" = 1 ] && docker.build_base_images
|
[ "$is_full" = 1 ] && docker.build_base_images
|
||||||
|
|
||||||
up "$@"
|
up "$@"
|
||||||
@@ -579,6 +576,27 @@ purge() {
|
|||||||
success 'Образы удалены успешно'
|
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() {
|
logs() {
|
||||||
process_help_arg
|
process_help_arg
|
||||||
@@ -602,7 +620,6 @@ stats() {
|
|||||||
docker.compose stats "$@"
|
docker.compose stats "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
########################################################
|
########################################################
|
||||||
# Команды справки
|
# Команды справки
|
||||||
########################################################
|
########################################################
|
||||||
@@ -827,6 +844,7 @@ case "$COMMAND" in
|
|||||||
stop ) stop "$@" ;;
|
stop ) stop "$@" ;;
|
||||||
r|rebuild ) rebuild "$@" ;;
|
r|rebuild ) rebuild "$@" ;;
|
||||||
restart ) restart "$@" ;;
|
restart ) restart "$@" ;;
|
||||||
|
exec ) exec "$@" ;;
|
||||||
purge ) purge ;;
|
purge ) purge ;;
|
||||||
logs ) logs "$@" ;;
|
logs ) logs "$@" ;;
|
||||||
stats ) stats "$@" ;;
|
stats ) stats "$@" ;;
|
||||||
|
|||||||
Reference in New Issue
Block a user