使用 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_PASSWORD
与MARIADB_PASSWORD
建议使用强随机密码,提升安全性。- 若您需要在同一台服务器部署多个 AppleAutoPro 实例,请修改
COMPOSE_PROJECT_NAME
和WEB_PORT
项以避免端口冲突。
其他网站设置项可在程序启动后通过管理面板进行配置。
🌐 4. 配置反向代理
程序默认监听端口:18523
,请将域名反向代理至:http://localhost:18523
。
此端口可通过编辑.env
文件中的WEB_PORT
项进行修改。
💻 宝塔面板配置示例(通用)
- 在宝塔面板中新建站点,域名填写完成后,将
PHP版本
设置为静态
。 - 进入网站设置,找到
反向代理
,添加以下规则:- 代理目标:
http://localhost:18523
- 域名填写:
$host
- 代理目标:
- 示例配置截图如下:
🚀 Caddy 反向代理配置示例(不使用宝塔面板)
- 打开 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
- 打开
data/Caddyfile
文件,填写你的邮箱(用于自动配置SSL)和域名。
☁️ Cloudflare Tunnel 配置(最安全)
步骤 1: 创建 Cloudflare Tunnel
- 访问 Cloudflare Zero Trust 并创建一个新的隧道。
- 选择
Cloudflared
作为隧道类型,并输入一个自定义名称。
步骤 2: 使用 Docker 部署
选择
Docker
作为运行环境。提取提供的命令中的
token
参数,并将其填入以下命令中:bashdocker run -d --network=host --name=cloudflared --restart=always \ cloudflare/cloudflared:latest tunnel run --token <TOKEN>
步骤 3: 配置公共主机名
- 在 Cloudflare Tunnels 中编辑刚创建的隧道。
- 添加一个
公共主机名
条目。 - 指定您的域名,无需手动解析,Cloudflare 会自动处理。
- 在
服务
字段中选择HTTP
,并将目标
设置为localhost:18523
。 - 保存配置。
🚀 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