Update entrypoint.sh
Browse files- 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. 修复
|
| 17 |
-
|
| 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 |
-
#
|
| 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 |
-
#
|
| 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 |
-
|
| 47 |
-
|
| 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
|