mirror of
https://gitlab.com/Snogard/kaido.git
synced 2025-06-25 02:13:00 +02:00
70 lines
1.7 KiB
Bash
Executable File
70 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
source /opt/kaido/src/libs/bash/lib.sh
|
|
# docs https://github.com/Tzahi12345/YoutubeDL-Material
|
|
|
|
# setup
|
|
podName=youtubedl
|
|
|
|
containerName_web=${podName}_web
|
|
containerName_db=${podName}_db
|
|
|
|
imageName_web=docker.io/tzahi12345/youtubedl-material:4.3.2
|
|
imageName_db=docker.io/library/mongo:4.4.22
|
|
|
|
dstBasePath=$KAIDO_CONTAINER_FOLDER/$podName
|
|
dstAppDataPath=$dstBasePath/appdata
|
|
dstUsersPath=$dstBasePath/users
|
|
dstDBPath=$dstBasePath/db
|
|
|
|
|
|
# envs
|
|
max_old_space_size=4096
|
|
# TODO: replace with raspberry identification
|
|
if [ $(uname -m) == "aarch64" ]; then
|
|
imageName_db=docker.io/library/mongo:4.4.18
|
|
max_old_space_size=2048
|
|
fi
|
|
|
|
if [ -f "$KAIDO_CONFIG_FOLDER/containers/$podName/envs.sh" ]; then
|
|
source "$KAIDO_CONFIG_FOLDER/containers/$podName/envs.sh"
|
|
fi
|
|
|
|
|
|
# pre install
|
|
create_folder "$dstAppDataPath"
|
|
create_folder "$dstUsersPath"
|
|
create_folder "$dstDBPath"
|
|
stop_and_remove_pod $podName
|
|
|
|
|
|
#install
|
|
echo "Creating new $podName pod"
|
|
podman pod create \
|
|
--name $podName \
|
|
-p 10104:17442/tcp \
|
|
|
|
echo "Creating new $containerName_db container"
|
|
podman create \
|
|
--pod $podName \
|
|
--name $containerName_db \
|
|
-v $dstDBPath:/data/db \
|
|
$imageName_db
|
|
|
|
echo "Creating new $containerName_web container"
|
|
podman create \
|
|
--pod $podName \
|
|
--name $containerName_web \
|
|
--requires $containerName_db \
|
|
-v $dstAppDataPath:/app/appdata \
|
|
-v $dstUsersPath:/app/users \
|
|
-e ytdl_mongodb_connection_string="mongodb://$containerName_db:27017" \
|
|
-e ytdl_use_local_db=false \
|
|
-e write_ytdl_config=true \
|
|
-e ALLOW_CONFIG_MUTATIONS=true \
|
|
-e NODE_OPTIONS=" --max_old_space_size=$max_old_space_size" \
|
|
$imageName_web
|
|
|
|
|
|
# systemd
|
|
create_systemd_services $podName
|
|
systemctl --user enable --now $podName |