WxAuto Web Server - Frontend UI
965
WxAuto Web Server 提供两个 Docker 镜像:
username/wxauto-backendpython:3.11-slim8000username/wxauto-frontendnginx:alpine80# 创建项目目录
mkdir wxauto-web-server && cd wxauto-web-server
# 下载 docker-compose.yml
curl -O https://raw.githubusercontent.com/username/wxauto-web-server/main/docker-compose.yml
# 下载配置文件模板
curl -O https://raw.githubusercontent.com/username/wxauto-web-server/main/config.json
# 编辑 .env 文件
cat > .env << EOF
DOCKER_USERNAME=username
VERSION=latest
EOF
编辑 config.json,配置 WxAuto API 地址和认证信息:
{
"wxauto": {
"api_url": "http://your-wxauto-api:5000",
"api_key": "your-api-key"
},
"auth": {
"enabled": true,
"username": "admin",
"password": "admin123"
}
}
# 拉取镜像并启动
docker-compose up -d
# 查看日志
docker-compose logs -f
http://localhost
默认账号:admin / admin123
# 创建网络
docker network create wxauto-network
# 运行后端
docker run -d \
--name wxauto-backend \
--network wxauto-network \
-p 8000:8000 \
-v $(pwd)/config.json:/app/config.json \
-v $(pwd)/data:/app/data \
-v $(pwd)/logs:/app/logs \
username/wxauto-backend:latest
# 运行前端
docker run -d \
--name wxauto-frontend \
--network wxauto-network \
-p 80:80 \
username/wxauto-frontend:latest
| 变量名 | 说明 | 默认值 |
|---|---|---|
DOCKER_USERNAME | Docker Hub 用户名 | - |
VERSION | 镜像版本 | latest |
| 容器路径 | 说明 | 推荐挂载 |
|---|---|---|
/app/config.json | 配置文件 | ✅ 必须 |
/app/data | 数据目录 | ✅ 推荐 |
/app/logs | 日志目录 | ✅ 推荐 |
| 容器端口 | 主机端口 | 服务 |
|---|---|---|
8000 | 8000 | 后端 API |
80 | 80 | 前端界面 |
version: '3.8'
services:
backend:
image: username/wxauto-backend:latest
container_name: wxauto-backend
restart: unless-stopped
ports:
- "8000:8000"
volumes:
- ./config.json:/app/config.json
- ./data:/app/data
- ./logs:/app/logs
networks:
- wxauto-network
frontend:
image: username/wxauto-frontend:latest
container_name: wxauto-frontend
restart: unless-stopped
ports:
- "80:80"
depends_on:
- backend
networks:
- wxauto-network
networks:
wxauto-network:
driver: bridge
version: '3.8'
services:
backend:
image: username/wxauto-backend:latest
container_name: wxauto-backend
restart: unless-stopped
ports:
- "8000:8000"
volumes:
- ./config.json:/app/config.json
- backend-data:/app/data
- backend-logs:/app/logs
environment:
- PYTHONUNBUFFERED=1
networks:
- wxauto-network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/api/instance/status"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
frontend:
image: username/wxauto-frontend:latest
container_name: wxauto-frontend
restart: unless-stopped
ports:
- "80:80"
depends_on:
backend:
condition: service_healthy
networks:
- wxauto-network
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:80"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
networks:
wxauto-network:
driver: bridge
volumes:
backend-data:
backend-logs:
# 构建后端镜像
docker build -t username/wxauto-backend:latest ./backend
# 构建前端镜像
docker build -t username/wxauto-frontend:latest ./frontend
# 使用 docker-compose 构建
docker-compose build
# 创建 builder
docker buildx create --name mybuilder --use
# 构建并推送多平台镜像
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t username/wxauto-backend:latest \
--push \
./backend
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t username/wxauto-frontend:latest \
--push \
./frontend
# 拉取最新镜像
docker-compose pull
# 重启服务
docker-compose up -d
# 清理旧镜像
docker image prune -f
# 修改 .env 文件
echo "VERSION=v1.2.0" >> .env
# 拉取并重启
docker-compose pull
docker-compose up -d
# 查看容器状态
docker-compose ps
# 查看日志
docker-compose logs -f
# 查看后端日志
docker-compose logs -f backend
# 查看前端日志
docker-compose logs -f frontend
# 停止服务
docker-compose stop
# 启动服务
docker-compose start
# 重启服务
docker-compose restart
# 停止并删除容器
docker-compose down
# 停止并删除容器和数据卷
docker-compose down -v
# 进入后端容器
docker-compose exec backend bash
# 进入前端容器
docker-compose exec frontend sh
# 查看配置文件
docker-compose exec backend cat /app/config.json
# 验证 JSON 格式
docker-compose exec backend python -m json.tool /app/config.json
docker-compose logs backend
docker-compose exec backend curl http://your-wxauto-api:5000
docker-compose ps
netstat -tuln | grep 80
docker-compose logs frontend
# 检查网络
docker network inspect wxauto-network
# 测试容器间连接
docker-compose exec frontend ping backend
{
"auth": {
"username": "admin",
"password": "strong-password-here"
}
}
services:
frontend:
ports:
- "443:443"
volumes:
- ./ssl:/etc/nginx/ssl
services:
frontend:
ports:
- "127.0.0.1:80:80" # 仅本地访问
services:
backend:
deploy:
resources:
limits:
cpus: '1'
memory: 512M
reservations:
cpus: '0.5'
memory: 256M
frontend:
deploy:
resources:
limits:
cpus: '0.5'
memory: 256M
reservations:
cpus: '0.25'
memory: 128M
services:
backend:
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
# 创建备份目录
mkdir -p backup
# 备份配置
cp config.json backup/config.json.$(date +%Y%m%d)
# 备份数据
docker run --rm \
-v wxauto-backend-data:/data \
-v $(pwd)/backup:/backup \
alpine tar czf /backup/data-$(date +%Y%m%d).tar.gz -C /data .
# 恢复配置
cp backup/config.json.20250107 config.json
# 恢复数据
docker run --rm \
-v wxauto-backend-data:/data \
-v $(pwd)/backup:/backup \
alpine tar xzf /backup/data-20250107.tar.gz -C /data
本项目使用 GitHub Actions 自动构建和推送 Docker 镜像到 Docker Hub。
main、master、develop 分支v1.0.0)main、master 分支latest - 最新稳定版本develop - 开发版本v1.0.0 - 语义化版本v1.0 - 主版本.次版本v1 - 主版本MIT License
⚠️ 注意事项:
config.jsonContent type
Image
Digest
sha256:26f0b2f39…
Size
21.8 MB
Last updated
about 1 year ago
docker pull kokojacket/wxauto-frontend