- 为 configuration.py 增加环境变量占位符解析、配置归一化、脱敏快照与启动校验\n- 在 main.py 启动阶段接入配置校验日志,并在致命缺项时阻止进程继续启动\n- 新增 config.example.yaml,并将默认 config.yaml 改为安全占位模板,移除仓库内明文敏感信息\n- 调整 docker-entrypoint.sh 与文档,统一说明配置复制、环境变量注入与当前优化进展
71 lines
1.8 KiB
Bash
71 lines
1.8 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
mkdir -p /app/logs
|
|
|
|
if [ ! -f /app/config.yaml ]; then
|
|
cat > /app/config.yaml <<EOF
|
|
environment: "\${ABOT_ENVIRONMENT:production}"
|
|
plugin_dir: "\${ABOT_PLUGIN_DIR:plugins}"
|
|
|
|
db_config:
|
|
pool_name: "\${ABOT_DB_POOL_NAME:wechat_boot_pool}"
|
|
pool_size: "\${ABOT_DB_POOL_SIZE:10}"
|
|
host: "\${DB_HOST:127.0.0.1}"
|
|
port: "\${DB_PORT:3306}"
|
|
prot: "\${DB_PORT:3306}"
|
|
user: "\${DB_USER:root}"
|
|
password: "\${DB_PASSWORD}"
|
|
database: "\${DB_NAME:message_archive}"
|
|
charset: "utf8mb4"
|
|
use_unicode: true
|
|
get_warnings: true
|
|
pool_reset_session: true
|
|
|
|
redis_config:
|
|
host: "\${REDIS_HOST:127.0.0.1}"
|
|
port: "\${REDIS_PORT:6379}"
|
|
password: "\${REDIS_PASSWORD:}"
|
|
db: "\${REDIS_DB:0}"
|
|
decode_responses: true
|
|
|
|
email_config:
|
|
smtp_server: "\${ABOT_EMAIL_SMTP_SERVER:smtp.163.com}"
|
|
smtp_port: "\${ABOT_EMAIL_SMTP_PORT:465}"
|
|
sender_email: "\${ABOT_EMAIL_SENDER:}"
|
|
sender_password: "\${ABOT_EMAIL_PASSWORD:}"
|
|
alert_recipient: "\${ABOT_EMAIL_ALERT_RECIPIENT:}"
|
|
|
|
glances:
|
|
host: "\${ABOT_GLANCES_HOST:127.0.0.1}"
|
|
port: "\${ABOT_GLANCES_PORT:61208}"
|
|
|
|
wx_config:
|
|
admin: [ "\${ABOT_WX_ADMIN:admin}" ]
|
|
EOF
|
|
fi
|
|
|
|
mkdir -p /app/wechat_ipad
|
|
if [ ! -f /app/wechat_ipad/config.toml ]; then
|
|
cat > /app/wechat_ipad/config.toml <<EOF
|
|
server_url = "${WECHAT_SERVER_URL}"
|
|
wxid = "${WECHAT_WXID}"
|
|
device_id = "${WECHAT_DEVICE_ID}"
|
|
device_name = "${WECHAT_DEVICE_NAME}"
|
|
server_ip = "${WECHAT_SERVER_IP}"
|
|
server_port = "${WECHAT_SERVER_PORT}"
|
|
login_time = ""
|
|
EOF
|
|
fi
|
|
|
|
if [ ! -d /var/lib/mysql/mysql ]; then
|
|
mysql_install_db --user=mysql --ldata=/var/lib/mysql >/dev/null
|
|
fi
|
|
|
|
service mariadb start
|
|
service redis-server start
|
|
|
|
mysql -uroot -e "CREATE DATABASE IF NOT EXISTS \`${DB_NAME}\` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
|
|
|
|
exec "$@"
|