Files
bttoxin-pipeline/Makefile
2025-10-13 21:05:00 +08:00

79 lines
2.4 KiB
Makefile

.PHONY: help setup start stop restart logs logs-api logs-worker shell db-init db-migrate clean test
help:
@echo "BtToxin Pipeline - 单机部署"
@echo ""
@echo " make setup - 初始化环境"
@echo " make start - 启动所有服务"
@echo " make stop - 停止所有服务"
@echo " make restart - 重启服务"
@echo " make logs - 查看日志"
@echo " make logs-api - 查看 API 日志"
@echo " make logs-worker - 查看 Worker 日志"
@echo " make shell - 进入 API 容器"
@echo " make db-init - 初始化数据库"
@echo " make db-migrate - 运行数据库迁移"
@echo " make clean - 清理数据"
@echo " make test - 运行测试"
setup:
@echo "=== 初始化环境 ==="
cp backend/.env.example .env || true
mkdir -p data/jobs data/temp
docker compose -f docker/docker-compose.yml build
@echo "✓ 环境初始化完成"
start:
@echo "=== 启动服务 ==="
docker compose -f docker/docker-compose.yml up -d
@echo "✓ 服务启动完成"
@echo ""
@echo "访问地址:"
@echo " API: http://localhost:8000"
@echo " API文档: http://localhost:8000/docs"
@echo " Flower: http://localhost:5555"
@echo " 前端: http://localhost:3000"
stop:
@echo "=== 停止服务 ==="
docker compose -f docker/docker-compose.yml down
@echo "✓ 服务已停止"
restart:
@echo "=== 重启服务 ==="
docker compose -f docker/docker-compose.yml restart
@echo "✓ 服务已重启"
logs:
docker compose -f docker/docker-compose.yml logs -f
logs-api:
docker compose -f docker/docker-compose.yml logs -f api
logs-worker:
docker compose -f docker/docker-compose.yml logs -f worker
shell:
docker compose -f docker/docker-compose.yml exec api /bin/bash || docker compose -f docker/docker-compose.yml exec api /bin/sh
db-init:
@echo "=== 初始化数据库 ==="
docker compose -f docker/docker-compose.yml exec api python -c "from app.core.database import init_db; init_db()"
@echo "✓ 数据库初始化完成"
db-migrate:
@echo "=== 运行数据库迁移 ==="
docker compose -f docker/docker-compose.yml exec api alembic upgrade head
@echo "✓ 迁移完成"
clean:
@echo "=== 清理数据 ==="
docker compose -f docker/docker-compose.yml down -v
rm -rf data/jobs/* data/temp/*
@echo "✓ 清理完成"
test:
@echo "=== 运行测试 ==="
docker compose exec api pytest || (cd backend && pytest)
@echo "✓ 测试完成"