diff --git a/Dockerfile b/Dockerfile deleted file mode 100755 index c6c8df8..0000000 --- a/Dockerfile +++ /dev/null @@ -1,35 +0,0 @@ -FROM ubuntu:latest - -# 使用阿里云源 -RUN sed -i 's/ports.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && \ - sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && \ - sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list - -# 安装必要的依赖 -RUN apt-get update && apt-get install -y \ - git \ - wget \ - unzip \ - xz-utils \ - zip \ - libglu1-mesa \ - curl \ - sudo \ - && rm -rf /var/lib/apt/lists/* - -# 创建非root用户 -RUN useradd -ms /bin/bash flutter_user -RUN adduser flutter_user sudo -RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers - -# 克隆Flutter并设置权限 -RUN git clone https://github.com/flutter/flutter.git /flutter && \ - chown -R flutter_user:flutter_user /flutter - -# 设置环境变量 -ENV PATH="/flutter/bin:${PATH}" - -# 切换用户并配置Flutter -USER flutter_user -WORKDIR /home/flutter_user -RUN flutter config --enable-windows-desktop \ No newline at end of file diff --git a/Dockerfile.windows b/Dockerfile.windows deleted file mode 100755 index 28d3878..0000000 --- a/Dockerfile.windows +++ /dev/null @@ -1,52 +0,0 @@ -FROM ubuntu:22.04 - -# 设置环境变量 -ENV DEBIAN_FRONTEND=noninteractive -ENV FLUTTER_VERSION=3.24.0 -ENV FLUTTER_HOME=/flutter -ENV PATH=$PATH:$FLUTTER_HOME/bin - -# 安装必要的依赖 -RUN apt-get update && apt-get install -y \ - curl \ - git \ - unzip \ - xz-utils \ - zip \ - libglu1-mesa \ - cmake \ - ninja-build \ - pkg-config \ - libgtk-3-dev \ - liblzma-dev \ - libstdc++-12-dev \ - mingw-w64 \ - gcc-mingw-w64 \ - g++-mingw-w64 \ - && rm -rf /var/lib/apt/lists/* - -# 下载并安装Flutter -RUN cd /tmp && curl -O https://mirrors-i.tuna.tsinghua.edu.cn/flutter/flutter_infra_release/releases/stable/linux/flutter_linux_${FLUTTER_VERSION}-stable.tar.xz \ - && tar xf flutter_linux_${FLUTTER_VERSION}-stable.tar.xz \ - && ls -la \ - && rm -rf /flutter \ - && mv flutter /flutter \ - && rm flutter_linux_${FLUTTER_VERSION}-stable.tar.xz - -# 预下载Flutter依赖 -RUN flutter precache - -# 修复Git权限问题 -RUN git config --global --add safe.directory /flutter - -# 设置工作目录 -WORKDIR /app - -# 复制项目文件 -COPY . . - -# 获取依赖 -RUN flutter pub get - -# 构建Windows版本 -CMD ["flutter", "build", "windows"] diff --git a/Dockerfile.windows-cross b/Dockerfile.windows-cross deleted file mode 100755 index 2a7f619..0000000 --- a/Dockerfile.windows-cross +++ /dev/null @@ -1,53 +0,0 @@ -FROM ubuntu:22.04 - -# 设置环境变量 -ENV DEBIAN_FRONTEND=noninteractive -ENV FLUTTER_VERSION=3.24.0 -ENV FLUTTER_HOME=/flutter -ENV PATH=$PATH:$FLUTTER_HOME/bin - -# 安装必要的依赖 -RUN apt-get update && apt-get install -y \ - curl \ - git \ - unzip \ - xz-utils \ - zip \ - libglu1-mesa \ - cmake \ - ninja-build \ - pkg-config \ - libgtk-3-dev \ - liblzma-dev \ - libstdc++-12-dev \ - mingw-w64 \ - gcc-mingw-w64 \ - g++-mingw-w64 \ - wine \ - wine64 \ - && rm -rf /var/lib/apt/lists/* - -# 下载并安装Flutter -RUN cd /tmp && curl -O https://mirrors-i.tuna.tsinghua.edu.cn/flutter/flutter_infra_release/releases/stable/linux/flutter_linux_${FLUTTER_VERSION}-stable.tar.xz \ - && tar xf flutter_linux_${FLUTTER_VERSION}-stable.tar.xz \ - && rm -rf /flutter \ - && mv flutter /flutter \ - && rm flutter_linux_${FLUTTER_VERSION}-stable.tar.xz - -# 预下载Flutter依赖 -RUN flutter precache - -# 修复Git权限问题 -RUN git config --global --add safe.directory /flutter - -# 设置工作目录 -WORKDIR /app - -# 复制项目文件 -COPY . . - -# 获取依赖 -RUN flutter pub get - -# 尝试构建Windows版本(使用交叉编译) -CMD ["flutter", "build", "windows", "--release"] diff --git a/distributor.yaml b/distributor.yaml deleted file mode 100755 index da7a2f2..0000000 --- a/distributor.yaml +++ /dev/null @@ -1,18 +0,0 @@ -name: BearVPN -app_name: BearVPN -version: 1.0.0 -build_number: 1 -targets: - macos: - dmg: - enable: true - # 不签名 - sign: false - pkg: - enable: true - # 不签名 - sign: false - windows: - exe: - enable: true - icon: assets/images/tray_icon.ico \ No newline at end of file diff --git a/docker-compose-mysql-backup.yml b/docker-compose-mysql-backup.yml deleted file mode 100755 index ce06086..0000000 --- a/docker-compose-mysql-backup.yml +++ /dev/null @@ -1,182 +0,0 @@ -version: '3.8' - -services: - # MySQL 5.7 备份服务 - mysql-backup: - image: percona/percona-xtrabackup:2.4 # 使用 2.4 版本支持 MySQL 5.7 - container_name: mysql-backup - restart: unless-stopped - - # 环境变量配置 - 请修改以下配置 - environment: - # 🔗 远程 MySQL 5.7 服务器配置 - MYSQL_HOST: "rm-0jog99u32x2n4935j9o.mysql.ap-southeast-7.rds.aliyuncs.com" # 远程 MySQL 服务器地址 - MYSQL_PORT: "13306" # MySQL 端口 - MYSQL_USER: "sysadmin" # 备份用户账号 - MYSQL_PASSWORD: "vxxa#RbOQajEbjaxyErgPU_p$Boit8a9" # 备份用户密码 - MYSQL_VERSION: "5.7" # MySQL 版本 - - # 📁 备份配置 - BACKUP_DIR: "/backup" # 容器内备份目录 - BACKUP_RETENTION_DAYS: "7" # 备份保留天数 - BACKUP_SCHEDULE: "0 2 * * *" # 备份时间 (每天凌晨2点) - - # 🔧 备份选项 - BACKUP_TYPE: "full" # 备份类型: full(全量) / incremental(增量) - COMPRESS_BACKUP: "true" # 是否压缩备份 - PARALLEL_THREADS: "2" # 并行线程数 (MySQL 5.7 建议使用较少线程) - - # 挂载卷配置 - volumes: - - ./backup:/backup # 本地备份目录映射 - - ./scripts:/scripts # 备份脚本目录 - - ./logs:/logs # 日志目录 - - /etc/localtime:/etc/localtime:ro # 时区同步 - - # 网络配置 - networks: - - backup-network - - # 启动命令 - 执行备份脚本 - command: > - bash -c " - echo 'MySQL 5.7 备份服务启动中...' && - echo '远程服务器: $${MYSQL_HOST}:$${MYSQL_PORT}' && - echo 'MySQL 版本: $${MYSQL_VERSION}' && - echo '备份用户: $${MYSQL_USER}' && - echo '备份目录: $${BACKUP_DIR}' && - echo '备份计划: $${BACKUP_SCHEDULE}' && - - # 创建必要目录 - mkdir -p $${BACKUP_DIR} $${BACKUP_DIR}/full $${BACKUP_DIR}/incremental /logs && - - # 安装 cron 和必要工具 - apt-get update && apt-get install -y cron gzip pv && - - # 创建备份脚本 - cat > /scripts/backup.sh << 'EOF' - #!/bin/bash - set -e - - TIMESTAMP=$$(date +%Y%m%d_%H%M%S) - BACKUP_PATH=$${BACKUP_DIR}/$${BACKUP_TYPE}/$${TIMESTAMP} - - echo \"[$$(date)] 开始 MySQL 5.7 备份到: $${BACKUP_PATH}\" >> /logs/backup.log - - # 创建备份目录 - mkdir -p $${BACKUP_PATH} - - # 测试连接 - echo \"[$$(date)] 测试 MySQL 连接...\" >> /logs/backup.log - mysql -h$${MYSQL_HOST} -P$${MYSQL_PORT} -u$${MYSQL_USER} -p$${MYSQL_PASSWORD} -e \"SELECT 1;\" 2>> /logs/backup.log - - if [ $$? -ne 0 ]; then - echo \"[$$(date)] 错误: 无法连接到 MySQL 服务器\" >> /logs/backup.log - exit 1 - fi - - # 执行备份 - if [ \"$${BACKUP_TYPE}\" = \"full\" ]; then - echo \"[$$(date)] 执行全量备份\" >> /logs/backup.log - innobackupex \\ - --host=$${MYSQL_HOST} \\ - --port=$${MYSQL_PORT} \\ - --user=$${MYSQL_USER} \\ - --password=$${MYSQL_PASSWORD} \\ - --parallel=$${PARALLEL_THREADS} \\ - --compress \\ - --stream=tar \\ - $${BACKUP_PATH} 2>> /logs/backup.log | gzip > $${BACKUP_PATH}/backup.tar.gz - else - echo \"[$$(date)] 执行增量备份\" >> /logs/backup.log - # 获取最新的全量备份作为基础 - LATEST_FULL=$$(ls -t $${BACKUP_DIR}/full/ | head -1) - if [ -z \"$${LATEST_FULL}\" ]; then - echo \"[$$(date)] 错误: 没有找到全量备份,无法执行增量备份\" >> /logs/backup.log - exit 1 - fi - - innobackupex \\ - --host=$${MYSQL_HOST} \\ - --port=$${MYSQL_PORT} \\ - --user=$${MYSQL_USER} \\ - --password=$${MYSQL_PASSWORD} \\ - --parallel=$${PARALLEL_THREADS} \\ - --incremental \\ - --incremental-basedir=$${BACKUP_DIR}/full/$${LATEST_FULL} \\ - --compress \\ - --stream=tar \\ - $${BACKUP_PATH} 2>> /logs/backup.log | gzip > $${BACKUP_PATH}/backup.tar.gz - fi - - # 验证备份文件 - if [ -f \"$${BACKUP_PATH}/backup.tar.gz\" ] && [ -s \"$${BACKUP_PATH}/backup.tar.gz\" ]; then - echo \"[$$(date)] 备份成功: $${BACKUP_PATH}/backup.tar.gz\" >> /logs/backup.log - echo \"[$$(date)] 备份文件大小: $$(du -h $${BACKUP_PATH}/backup.tar.gz | cut -f1)\" >> /logs/backup.log - else - echo \"[$$(date)] 错误: 备份文件创建失败或为空\" >> /logs/backup.log - exit 1 - fi - - # 清理旧备份 - echo \"[$$(date)] 清理超过 $${BACKUP_RETENTION_DAYS} 天的备份\" >> /logs/backup.log - find $${BACKUP_DIR} -type d -mtime +$${BACKUP_RETENTION_DAYS} -exec rm -rf {} + 2>/dev/null || true - - echo \"[$$(date)] 备份完成: $${BACKUP_PATH}\" >> /logs/backup.log - EOF - - # 设置脚本执行权限 - chmod +x /scripts/backup.sh && - - # 设置 cron 任务 - echo \"$${BACKUP_SCHEDULE} /scripts/backup.sh\" > /etc/cron.d/mysql-backup && - chmod 0644 /etc/cron.d/mysql-backup && - - # 启动 cron 服务 - service cron start && - - # 立即执行一次备份 - echo '执行初始备份...' && - /scripts/backup.sh && - - # 保持容器运行 - echo 'MySQL 5.7 备份服务已启动,等待定时任务...' && - tail -f /logs/backup.log - " - - # 资源限制 - deploy: - resources: - limits: - memory: 1G - cpus: '1.0' - reservations: - memory: 256M - cpus: '0.25' - - # 备份监控服务 (可选) - backup-monitor: - image: nginx:alpine - container_name: backup-monitor - restart: unless-stopped - ports: - - "8080:80" # 监控界面端口 - volumes: - - ./backup:/usr/share/nginx/html/backup:ro - - ./monitor:/usr/share/nginx/html:ro - networks: - - backup-network - depends_on: - - mysql-backup - -# 网络配置 -networks: - backup-network: - driver: bridge - -# 卷配置 -volumes: - backup-data: - driver: local - backup-logs: - driver: local \ No newline at end of file