From ee542252d462672e1872a27f6905afa8cac578a5 Mon Sep 17 00:00:00 2001 From: Meng Sen Date: Mon, 17 Feb 2025 11:07:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=83=20stream-rec=20=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Meng Sen --- apps/stream-rec-backend/main/data.yml | 32 +++++++++ .../main/docker-compose.yml | 25 +++++++ apps/stream-rec-backend/main/envs/default.env | 2 + apps/stream-rec-backend/main/envs/global.env | 2 + apps/stream-rec-backend/main/scripts/init.sh | 17 +++++ .../main/scripts/uninstall.sh | 10 +++ .../main/scripts/upgrade.sh | 17 +++++ apps/stream-rec-frontend/main/data.yml | 46 +++++++++++++ .../main/docker-compose.yml | 18 +++++ .../stream-rec-frontend/main/envs/default.env | 2 + apps/stream-rec-frontend/main/envs/global.env | 2 + apps/stream-rec-frontend/main/scripts/init.sh | 17 +++++ .../main/scripts/uninstall.sh | 10 +++ .../main/scripts/upgrade.sh | 17 +++++ apps/stream-rec/main/data.yml | 69 +++++++++++++++++++ apps/stream-rec/main/docker-compose.yml | 48 +++++++++++++ apps/stream-rec/main/envs/default.env | 2 + apps/stream-rec/main/envs/global.env | 2 + apps/stream-rec/main/scripts/init.sh | 17 +++++ apps/stream-rec/main/scripts/uninstall.sh | 10 +++ apps/stream-rec/main/scripts/upgrade.sh | 17 +++++ 21 files changed, 382 insertions(+) create mode 100644 apps/stream-rec-backend/main/data.yml create mode 100644 apps/stream-rec-backend/main/docker-compose.yml create mode 100644 apps/stream-rec-backend/main/envs/default.env create mode 100644 apps/stream-rec-backend/main/envs/global.env create mode 100644 apps/stream-rec-backend/main/scripts/init.sh create mode 100644 apps/stream-rec-backend/main/scripts/uninstall.sh create mode 100644 apps/stream-rec-backend/main/scripts/upgrade.sh create mode 100644 apps/stream-rec-frontend/main/data.yml create mode 100644 apps/stream-rec-frontend/main/docker-compose.yml create mode 100644 apps/stream-rec-frontend/main/envs/default.env create mode 100644 apps/stream-rec-frontend/main/envs/global.env create mode 100644 apps/stream-rec-frontend/main/scripts/init.sh create mode 100644 apps/stream-rec-frontend/main/scripts/uninstall.sh create mode 100644 apps/stream-rec-frontend/main/scripts/upgrade.sh create mode 100644 apps/stream-rec/main/data.yml create mode 100644 apps/stream-rec/main/docker-compose.yml create mode 100644 apps/stream-rec/main/envs/default.env create mode 100644 apps/stream-rec/main/envs/global.env create mode 100644 apps/stream-rec/main/scripts/init.sh create mode 100644 apps/stream-rec/main/scripts/uninstall.sh create mode 100644 apps/stream-rec/main/scripts/upgrade.sh diff --git a/apps/stream-rec-backend/main/data.yml b/apps/stream-rec-backend/main/data.yml new file mode 100644 index 000000000..08ef890a1 --- /dev/null +++ b/apps/stream-rec-backend/main/data.yml @@ -0,0 +1,32 @@ +additionalProperties: + formFields: + - default: "/home/stream-rec" + edit: true + envKey: STREAM_REC_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 12555 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: API 端口 + labelEn: API port + required: true + rule: paramPort + type: number + - default: "stream-rec" + edit: false + envKey: LOGIN_SECRET + labelZh: 登录密码 (初始化) + labelEn: Login Password (Initialization) + required: true + random: true + type: text + - default: "" + edit: true + envKey: HTTP_PROXY + labelZh: 网络代理 + labelEn: Network Proxy + required: false + type: text diff --git a/apps/stream-rec-backend/main/docker-compose.yml b/apps/stream-rec-backend/main/docker-compose.yml new file mode 100644 index 000000000..5c7b74273 --- /dev/null +++ b/apps/stream-rec-backend/main/docker-compose.yml @@ -0,0 +1,25 @@ +networks: + 1panel-network: + external: true + +services: + stream-rec-backend: + image: streamrec/stream-rec:main + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:12555 + env_file: + - ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env} + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${STREAM_REC_ROOT_PATH}/records:/opt/records + - ${STREAM_REC_ROOT_PATH}/download:/download + environment: + - LOG_LEVEL=INFO + - DB_PATH=/opt/records + - DOWNLOAD_PATH=/download diff --git a/apps/stream-rec-backend/main/envs/default.env b/apps/stream-rec-backend/main/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/apps/stream-rec-backend/main/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/apps/stream-rec-backend/main/envs/global.env b/apps/stream-rec-backend/main/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/apps/stream-rec-backend/main/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/apps/stream-rec-backend/main/scripts/init.sh b/apps/stream-rec-backend/main/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/stream-rec-backend/main/scripts/init.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/stream-rec-backend/main/scripts/uninstall.sh b/apps/stream-rec-backend/main/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/apps/stream-rec-backend/main/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/stream-rec-backend/main/scripts/upgrade.sh b/apps/stream-rec-backend/main/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/stream-rec-backend/main/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/stream-rec-frontend/main/data.yml b/apps/stream-rec-frontend/main/data.yml new file mode 100644 index 000000000..c90bf4283 --- /dev/null +++ b/apps/stream-rec-frontend/main/data.yml @@ -0,0 +1,46 @@ +additionalProperties: + formFields: + - default: "/home/stream-rec" + edit: true + envKey: STREAM_REC_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 15275 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: "" + edit: true + envKey: NEXTAUTH_SECRET + labelZh: NextAuth 加密密钥 + labelEn: NextAuth Secret + required: true + random: true + type: text + - default: "http://stream-rec-backend:12555/api" + edit: true + envKey: API_URL + labelZh: API 地址 + labelEn: API URL + required: true + type: text + - default: "ws://stream-rec-backend:12555/live/update" + edit: true + envKey: WS_API_URL + labelZh: WebSocket API 地址 + labelEn: WebSocket API URL + required: true + type: text + - default: "http://localhost:15275/" + edit: true + envKey: NEXTAUTH_URL + labelZh: NextAuth 服务器地址 + labelEn: NextAuth Server URL + required: true + type: text diff --git a/apps/stream-rec-frontend/main/docker-compose.yml b/apps/stream-rec-frontend/main/docker-compose.yml new file mode 100644 index 000000000..b34145e7d --- /dev/null +++ b/apps/stream-rec-frontend/main/docker-compose.yml @@ -0,0 +1,18 @@ +networks: + 1panel-network: + external: true + +services: + stream-rec-frontend: + image: streamrec/stream-rec-front:main + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:15275 + env_file: + - ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env} + - ${ENV_FILE:-/etc/1panel/envs/default.env} diff --git a/apps/stream-rec-frontend/main/envs/default.env b/apps/stream-rec-frontend/main/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/apps/stream-rec-frontend/main/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/apps/stream-rec-frontend/main/envs/global.env b/apps/stream-rec-frontend/main/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/apps/stream-rec-frontend/main/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/apps/stream-rec-frontend/main/scripts/init.sh b/apps/stream-rec-frontend/main/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/stream-rec-frontend/main/scripts/init.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/stream-rec-frontend/main/scripts/uninstall.sh b/apps/stream-rec-frontend/main/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/apps/stream-rec-frontend/main/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/stream-rec-frontend/main/scripts/upgrade.sh b/apps/stream-rec-frontend/main/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/stream-rec-frontend/main/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/stream-rec/main/data.yml b/apps/stream-rec/main/data.yml new file mode 100644 index 000000000..44a51650b --- /dev/null +++ b/apps/stream-rec/main/data.yml @@ -0,0 +1,69 @@ +additionalProperties: + formFields: + - default: "/home/stream-rec" + edit: true + envKey: STREAM_REC_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 15275 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: 12555 + edit: true + envKey: PANEL_APP_PORT_API + labelZh: API 端口 + labelEn: API port + required: true + rule: paramPort + type: number + - default: "stream-rec" + disabled: true + envKey: LOGIN_USERNAME + labelZh: 默认用户名 + labelEn: Default Username + required: true + type: text + - default: "stream-rec" + edit: false + envKey: LOGIN_SECRET + labelZh: 登录密码 (初始化) + labelEn: Login Password (Initialization) + required: true + random: true + type: password + - default: "" + edit: true + envKey: AUTH_SECRET + labelZh: 加密密钥 + labelEn: Encryption Key + required: true + random: true + type: text + - default: "http://127.0.0.1:15275" + edit: true + envKey: NEXT_PUBLIC_BASE_URL + labelZh: 访问域名 + labelEn: Access Domain + required: true + type: text + - default: "ws://127.0.0.1:12555/live/update" + edit: true + envKey: WS_API_URL + labelZh: WebSocket API 地址 + labelEn: WebSocket API URL + required: true + type: text + - default: "" + edit: true + envKey: HTTP_PROXY + labelZh: 网络代理 + labelEn: Network Proxy + required: false + type: text diff --git a/apps/stream-rec/main/docker-compose.yml b/apps/stream-rec/main/docker-compose.yml new file mode 100644 index 000000000..59100f5ee --- /dev/null +++ b/apps/stream-rec/main/docker-compose.yml @@ -0,0 +1,48 @@ +networks: + 1panel-network: + external: true + +services: + stream-rec-backend: + image: streamrec/stream-rec:main + container_name: ${CONTAINER_NAME}-backend + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_API}:12555 + env_file: + - ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env} + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${STREAM_REC_ROOT_PATH}/records:/opt/records + - ${STREAM_REC_ROOT_PATH}/download:/download + environment: + - TZ=Asia/Shanghai + - HTTPS_PROXY=${HTTP_PROXY} + - LOG_LEVEL=INFO + - DB_PATH=/opt/records + - DOWNLOAD_PATH=/download + - PGID=1000 + - PUID=1000 + + stream-rec-frontend: + depends_on: + - stream-rec-backend + image: streamrec/stream-rec-front:main + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:15275 + env_file: + - ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env} + - ${ENV_FILE:-/etc/1panel/envs/default.env} + environment: + - TZ=Asia/Shanghai + - API_URL=http://stream-rec-backend:12555/api diff --git a/apps/stream-rec/main/envs/default.env b/apps/stream-rec/main/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/apps/stream-rec/main/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/apps/stream-rec/main/envs/global.env b/apps/stream-rec/main/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/apps/stream-rec/main/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/apps/stream-rec/main/scripts/init.sh b/apps/stream-rec/main/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/stream-rec/main/scripts/init.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/stream-rec/main/scripts/uninstall.sh b/apps/stream-rec/main/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/apps/stream-rec/main/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/stream-rec/main/scripts/upgrade.sh b/apps/stream-rec/main/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/stream-rec/main/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi