anycallgmail commited on
Commit
ed6c9ee
·
verified ·
1 Parent(s): b2ca6d0

Update start.sh

Browse files
Files changed (1) hide show
  1. start.sh +12 -31
start.sh CHANGED
@@ -5,7 +5,8 @@ MUSIC_DIR=${MUSIC_DIR:-/music}
5
  DATASET_MUSIC_NAME=${DATASET_MUSIC_NAME:-"your-username/music-dataset"}
6
  MUSIC_TOKEN=${MUSIC_TOKEN:-""}
7
  BACKUP_DATASET_ID=${BACKUP_DATASET_ID:-"your-username/navidrome-backup"}
8
- BACKUP_INTERVAL=${BACKUP_INTERVAL:-3600} # 默认3600秒备份一次
 
9
 
10
  echo "[INFO] Starting Navidrome setup"
11
 
@@ -20,42 +21,20 @@ chmod -R 755 /.cache
20
  # 激活Python虚拟环境
21
  source /venv/bin/activate
22
 
23
- # 恢复备份
24
  if [ -n "$BACKUP_DATASET_ID" ] && [ -n "$MUSIC_TOKEN" ]; then
25
  echo "[INFO] Attempting to restore from backup..."
26
  python /backup.py download "$MUSIC_TOKEN" "$BACKUP_DATASET_ID" "/data"
27
  fi
28
 
29
- # 下载数据集中的音乐文件到音乐目录
30
  if [ -n "$DATASET_MUSIC_NAME" ] && [ -n "$MUSIC_TOKEN" ]; then
31
- echo "[INFO] Downloading music files from Hugging Face Dataset..."
32
- python -c "
33
- from huggingface_hub import snapshot_download
34
- import os
35
- import shutil
36
- # 设置环境变量
37
- os.environ['HF_TOKEN'] = '${MUSIC_TOKEN}'
38
- music_dir = '${MUSIC_DIR}'
39
- dataset_name = '${DATASET_MUSIC_NAME}'
40
- try:
41
- # 确保缓存目录存在并有正确权限
42
- os.makedirs('/.cache', exist_ok=True)
43
-
44
- # 下载数据集
45
- print(f'Downloading dataset {dataset_name} to {music_dir}')
46
- snapshot_download(
47
- repo_id=dataset_name,
48
- repo_type='dataset',
49
- local_dir=music_dir,
50
- token=os.environ['HF_TOKEN']
51
- )
52
- print('Download completed successfully')
53
- except Exception as e:
54
- print(f'Error downloading dataset: {str(e)}')
55
- # 创建测试文件确保目录不为空
56
- with open(os.path.join(music_dir, 'test.txt'), 'w') as f:
57
- f.write('This is a test file')
58
- "
59
  fi
60
 
61
  # 检查音乐目录
@@ -83,6 +62,8 @@ backup_data() {
83
  if [ -n "$BACKUP_DATASET_ID" ] && [ -n "$MUSIC_TOKEN" ]; then
84
  echo "[INFO] Starting backup process with dataset: ${BACKUP_DATASET_ID}"
85
  backup_data &
 
 
86
  else
87
  echo "[WARNING] Backup disabled. Set BACKUP_DATASET_ID and MUSIC_TOKEN to enable."
88
  fi
 
5
  DATASET_MUSIC_NAME=${DATASET_MUSIC_NAME:-"your-username/music-dataset"}
6
  MUSIC_TOKEN=${MUSIC_TOKEN:-""}
7
  BACKUP_DATASET_ID=${BACKUP_DATASET_ID:-"your-username/navidrome-backup"}
8
+ BACKUP_INTERVAL=${BACKUP_INTERVAL:-3600} # 默认1小时备份一次
9
+ MUSIC_UPDATE_INTERVAL=${MUSIC_UPDATE_INTERVAL:-3600} # 默认1小时更新一次音乐
10
 
11
  echo "[INFO] Starting Navidrome setup"
12
 
 
21
  # 激活Python虚拟环境
22
  source /venv/bin/activate
23
 
24
+ # 恢复备份(如果存在)
25
  if [ -n "$BACKUP_DATASET_ID" ] && [ -n "$MUSIC_TOKEN" ]; then
26
  echo "[INFO] Attempting to restore from backup..."
27
  python /backup.py download "$MUSIC_TOKEN" "$BACKUP_DATASET_ID" "/data"
28
  fi
29
 
30
+ # 启动音乐更新进程
31
  if [ -n "$DATASET_MUSIC_NAME" ] && [ -n "$MUSIC_TOKEN" ]; then
32
+ echo "[INFO] Starting music update process..."
33
+ python /update_music.py "$DATASET_MUSIC_NAME" "$MUSIC_TOKEN" "$MUSIC_DIR" "$MUSIC_UPDATE_INTERVAL" "false" &
34
+ MUSIC_UPDATE_PID=$!
35
+ echo "[INFO] Music update process started with PID: $MUSIC_UPDATE_PID"
36
+ else
37
+ echo "[WARNING] Music update disabled. Set DATASET_MUSIC_NAME and MUSIC_TOKEN to enable."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  fi
39
 
40
  # 检查音乐目录
 
62
  if [ -n "$BACKUP_DATASET_ID" ] && [ -n "$MUSIC_TOKEN" ]; then
63
  echo "[INFO] Starting backup process with dataset: ${BACKUP_DATASET_ID}"
64
  backup_data &
65
+ BACKUP_PID=$!
66
+ echo "[INFO] Backup process started with PID: $BACKUP_PID"
67
  else
68
  echo "[WARNING] Backup disabled. Set BACKUP_DATASET_ID and MUSIC_TOKEN to enable."
69
  fi