Skip to content

使用 Docker Compose 部署 AppleAutoPro 前后端教程

🌟 简介

本教程将指导您使用 Docker Compose 快速部署 AppleAutoPro 的前端与后端组件。

🛠️ 1. 服务器准备

您可以使用多种方法进行反向代理,而无需安装宝塔面板。

如果计划在服务器上部署多个站点,建议使用 宝塔面板 进行管理,以简化网站及服务的运维。

📥 2. 下载与安装程序

2.1 根据服务器位置选择下载脚本

海外服务器

个人版安装命令

bash
bash <(curl -Ls https://raw.githubusercontent.com/SideCloudGroup/AppleAutoPro-Personal/refs/heads/v4/install.sh)

商业版安装命令

bash
bash <(curl -Ls https://raw.githubusercontent.com/SideCloudGroup/AppleAutoPro-Business/refs/heads/v4/install.sh)
中国大陆服务器

个人版安装命令

bash
bash <(curl -Ls https://ghfast.top/raw.githubusercontent.com/SideCloudGroup/AppleAutoPro-Personal/refs/heads/v4/install.sh)

商业版安装命令

bash
bash <(curl -Ls https://ghfast.top/raw.githubusercontent.com/SideCloudGroup/AppleAutoPro-Business/refs/heads/v4/install.sh)

⚙️ 3. 修改配置文件

3.1 目录结构说明

  • data 目录:用于存放程序数据文件(如数据库),请定期备份。
  • web 目录:用于存放前端文件,为前端的根目录。
  • docker-compose.yml 文件:用于定义 Docker 服务配置。

若您准备分离部署前后端,请访问 docker-compose.yml 文件,注释backend服务并开放REDIS端口。

3.2 编辑 .env 文件

请在 .env 文件中填写必要的配置信息:

  • MARIADB_ROOT_PASSWORDMARIADB_PASSWORD 建议使用强随机密码,提升安全性。
  • 若您需要在同一台服务器部署多个 AppleAutoPro 实例,请修改 COMPOSE_PROJECT_NAMEWEB_PORT 项以避免端口冲突。

其他网站设置项可在程序启动后通过管理面板进行配置。

🌐 4. 配置反向代理

程序默认监听端口:18523,请将域名反向代理至:http://localhost:18523

此端口可通过编辑.env文件中的WEB_PORT项进行修改。

💻 宝塔面板配置示例(通用)
  1. 在宝塔面板中新建站点,域名填写完成后,将 PHP版本 设置为 静态
  2. 进入网站设置,找到 反向代理,添加以下规则:
    • 代理目标:http://localhost:18523
    • 域名填写:$host
  3. 示例配置截图如下:
🚀 Caddy 反向代理配置示例(不使用宝塔面板)
  1. 打开 docker-compose.yml 文件,取消注释caddy服务,注释nginx服务,如下所示:
yaml
  caddy:
    image: caddy:latest
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./data/Caddyfile:/etc/caddy/Caddyfile
      - ./data/caddy/data:/data
      - ./data/caddy:/config
      - ./web:/var/www/html
    depends_on:
      php-fpm:
        condition: service_healthy
    networks:
      - appleautopro-network
    restart: always

  #  nginx:
  #    image: nginx:latest
  #    ports:
  #      - "127.0.0.1:${WEB_PORT}:80"
  #      - "[::1]:${WEB_PORT}:80"
  #    volumes:
  #      - ./data/nginx.conf:/etc/nginx/conf.d/default.conf:ro
  #      - ./web:/var/www/html
  #    depends_on:
  #      php-fpm:
  #        condition: service_healthy
  #    networks:
  #      - appleautopro-network
  #    restart: always
  1. 打开 data/Caddyfile 文件,填写你的邮箱(用于自动配置SSL)和域名。
☁️ Cloudflare Tunnel 配置(最安全)

步骤 1: 创建 Cloudflare Tunnel

  1. 访问 Cloudflare Zero Trust 并创建一个新的隧道。
  2. 选择 Cloudflared 作为隧道类型,并输入一个自定义名称。

步骤 2: 使用 Docker 部署

  1. 选择 Docker 作为运行环境。

  2. 提取提供的命令中的 token 参数,并将其填入以下命令中:

    bash
    docker run -d --network=host --name=cloudflared --restart=always \
      cloudflare/cloudflared:latest tunnel run --token <TOKEN>

步骤 3: 配置公共主机名

  1. 在 Cloudflare Tunnels 中编辑刚创建的隧道。
  2. 添加一个 公共主机名 条目。
  3. 指定您的域名,无需手动解析,Cloudflare 会自动处理。
  4. 服务 字段中选择 HTTP,并将 目标 设置为 localhost:18523
  5. 保存配置。

🚀 5. 启动服务

在安装目录下执行以下命令启动 Docker 容器:

bash
docker compose up -d

使用以下命令检查容器是否正常运行:

bash
docker compose ps -a

🧑‍💻 6. 注册管理员账户

请执行以下命令注册管理员账户:

bash
docker compose exec php-fpm php think register <> <用户> <>

⚠️ 提示: 尖括号 (<>) 仅用于展示变量,请勿包含在实际命令中。

✅ 7. 登录并完成配置

  • 使用刚才注册的管理员账户登录后台管理面板。
  • 管理面板系统设置 中完成网站基本配置。
  • 商业版用户请前往 管理面板功能价格设置 设置功能价格。
  • 添加账户前,请先完成 WebDriver 部署 以确保功能完整。

🎉 至此,AppleAutoPro 已成功部署!

备份数据

为确保数据安全,建议定期备份数据库。

例:您可以在 AppleAutoPro 安装目录下,使用以下命令,导出 Docker 中的数据库到db.sql文件中:

bash
docker compose exec mariadb mariadb-dump -uroot -p<数据库root密码> appleautopro > db.sql