xianyu-auto-reply/quick-fix-permissions.sh
2025-07-24 12:05:21 +08:00

89 lines
2.0 KiB
Bash

#!/bin/bash
# 快速修复Docker权限问题
# 这个脚本会立即解决权限问题并重启服务
set -e
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
print_info() {
echo -e "${BLUE}[INFO]${NC} $1"
}
print_success() {
echo -e "${GREEN}[SUCCESS]${NC} $1"
}
print_error() {
echo -e "${RED}[ERROR]${NC} $1"
}
echo "🚀 快速修复Docker权限问题"
echo "================================"
# 1. 停止容器
print_info "停止现有容器..."
docker-compose down
# 2. 确保目录存在并设置权限
print_info "设置目录权限..."
mkdir -p data logs backups
chmod 777 data logs backups
# 3. 检查并修复docker-compose.yml
print_info "检查docker-compose.yml配置..."
if ! grep -q "user.*0:0" docker-compose.yml; then
print_info "添加root用户配置..."
# 备份原文件
cp docker-compose.yml docker-compose.yml.backup
# 在container_name后添加user配置
sed -i '/container_name: xianyu-auto-reply/a\ user: "0:0"' docker-compose.yml
print_success "已配置使用root用户运行"
fi
# 4. 重新构建镜像
print_info "重新构建Docker镜像..."
docker-compose build --no-cache
# 5. 启动服务
print_info "启动服务..."
docker-compose up -d
# 6. 等待启动
print_info "等待服务启动..."
sleep 15
# 7. 检查状态
print_info "检查服务状态..."
if docker-compose ps | grep -q "Up"; then
print_success "✅ 服务启动成功!"
# 显示日志
echo ""
print_info "最近的日志:"
docker-compose logs --tail=10 xianyu-app
echo ""
print_success "🎉 权限问题已修复!"
echo ""
echo "访问信息:"
echo " Web界面: http://localhost:8080"
echo " 健康检查: http://localhost:8080/health"
echo " 默认账号: admin / admin123"
else
print_error "❌ 服务启动失败"
echo ""
print_info "错误日志:"
docker-compose logs xianyu-app
fi