zipusyan commited on
Commit
4dc2336
·
verified ·
1 Parent(s): 5dab012

Update entrypoint.sh

Browse files
Files changed (1) hide show
  1. entrypoint.sh +9 -26
entrypoint.sh CHANGED
@@ -1,53 +1,36 @@
1
  #!/bin/bash
2
  set -e
3
 
4
- # --- 路径定义 ---
5
- # PHP 网站持久化路径
6
  PHP_WWW_DIR="/home/www"
7
- # OpenCode 实际存储路径 (用户要求)
8
  OP_DATA_DIR="/home/www/opencode"
9
- # OpenCode 程序寻找配置的硬编码路径
10
  OP_CONFIG_DIR="/root/.opencode"
11
- # 镜像内的备份路径
12
  OP_BACKUP_DIR="/app/defaults/opencode"
13
 
14
  echo "--- Starting Runtime Initialization ---"
15
 
16
- # 1. 修复 PHP-FPM 运行环境 (解决 Exit Status 78)
17
- echo "Fixing PHP-FPM runtime directory..."
18
- mkdir -p /run/php
19
  chmod 755 /run/php
20
-
21
- # 2. 修复 Nginx 运行环境 (解决 Exit Status 1)
22
- echo "Fixing Nginx runtime environment..."
23
- mkdir -p /var/cache/nginx
24
- # 必须将配置从 available 链接到 enabled 才能生效
25
  ln -sf /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default
26
 
27
- # 3. 初始化 PHP 网站文件 (如果持久化目录为空)
28
  if [ ! -f "$PHP_WWW_DIR/ftp.php" ]; then
29
- echo "Initializing default PHP website files..."
30
  mkdir -p "$PHP_WWW_DIR"
31
  cp -r /app/defaults/www/* "$PHP_WWW_DIR/"
32
  chmod -R 755 "$PHP_WWW_DIR"
33
  fi
34
 
35
- # 4. 处理 OpenCode 持久化 (迁移至 /home/www/opencode)
36
- echo "Setting up OpenCode persistence at $OP_DATA_DIR..."
37
  mkdir -p "$OP_DATA_DIR"
38
-
39
- # 如果持久化目录是空的,则从镜像备份中恢复安装内容
40
  if [ ! -d "$OP_DATA_DIR/.opencode" ]; then
41
- echo "Restoring OpenCode installation from backup..."
42
  cp -r "$OP_BACKUP_DIR/.opencode" "$OP_DATA_DIR/"
43
  fi
44
 
45
- # 关键步骤:将程序寻找的路径软链接到持久化路径
46
- if [ ! -L "$OP_CONFIG_DIR" ]; then
47
- echo "Creating symlink: $OP_CONFIG_DIR -> $OP_DATA_DIR/.opencode"
48
- rm -rf "$OP_CONFIG_DIR"
49
- ln -s "$OP_DATA_DIR/.opencode" "$OP_CONFIG_DIR"
50
- fi
51
 
52
  echo "--- Initialization Complete. Starting Supervisor ---"
53
  exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf
 
1
  #!/bin/bash
2
  set -e
3
 
4
+ # 定义路径
 
5
  PHP_WWW_DIR="/home/www"
 
6
  OP_DATA_DIR="/home/www/opencode"
 
7
  OP_CONFIG_DIR="/root/.opencode"
 
8
  OP_BACKUP_DIR="/app/defaults/opencode"
9
 
10
  echo "--- Starting Runtime Initialization ---"
11
 
12
+ # 1. 修复运行环境
13
+ mkdir -p /run/php /var/cache/nginx /var/log/nginx
 
14
  chmod 755 /run/php
 
 
 
 
 
15
  ln -sf /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default
16
 
17
+ # 2. 初始化 PHP 网站文件
18
  if [ ! -f "$PHP_WWW_DIR/ftp.php" ]; then
 
19
  mkdir -p "$PHP_WWW_DIR"
20
  cp -r /app/defaults/www/* "$PHP_WWW_DIR/"
21
  chmod -R 755 "$PHP_WWW_DIR"
22
  fi
23
 
24
+ # 3. 处理 OpenCode 持久化
 
25
  mkdir -p "$OP_DATA_DIR"
26
+ # 如果持久化目录里没有内容,则还原
 
27
  if [ ! -d "$OP_DATA_DIR/.opencode" ]; then
 
28
  cp -r "$OP_BACKUP_DIR/.opencode" "$OP_DATA_DIR/"
29
  fi
30
 
31
+ # 创建软链接 (确保程序能找 /root/.opencode)
32
+ rm -rf "$OP_CONFIG_DIR"
33
+ ln -s "$OP_DATA_DIR/.opencode" "$OP_CONFIG_DIR"
 
 
 
34
 
35
  echo "--- Initialization Complete. Starting Supervisor ---"
36
  exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf