feat: add development environment setup commands to Makefile (#24976)
This commit is contained in:
60
Makefile
60
Makefile
@@ -4,6 +4,48 @@ WEB_IMAGE=$(DOCKER_REGISTRY)/dify-web
|
|||||||
API_IMAGE=$(DOCKER_REGISTRY)/dify-api
|
API_IMAGE=$(DOCKER_REGISTRY)/dify-api
|
||||||
VERSION=latest
|
VERSION=latest
|
||||||
|
|
||||||
|
# Backend Development Environment Setup
|
||||||
|
.PHONY: dev-setup prepare-docker prepare-web prepare-api
|
||||||
|
|
||||||
|
# Default dev setup target
|
||||||
|
dev-setup: prepare-docker prepare-web prepare-api
|
||||||
|
@echo "✅ Backend development environment setup complete!"
|
||||||
|
|
||||||
|
# Step 1: Prepare Docker middleware
|
||||||
|
prepare-docker:
|
||||||
|
@echo "🐳 Setting up Docker middleware..."
|
||||||
|
@cp -n docker/middleware.env.example docker/middleware.env 2>/dev/null || echo "Docker middleware.env already exists"
|
||||||
|
@cd docker && docker compose -f docker-compose.middleware.yaml --env-file middleware.env -p dify-middlewares-dev up -d
|
||||||
|
@echo "✅ Docker middleware started"
|
||||||
|
|
||||||
|
# Step 2: Prepare web environment
|
||||||
|
prepare-web:
|
||||||
|
@echo "🌐 Setting up web environment..."
|
||||||
|
@cp -n web/.env.example web/.env 2>/dev/null || echo "Web .env already exists"
|
||||||
|
@cd web && pnpm install
|
||||||
|
@cd web && pnpm build
|
||||||
|
@echo "✅ Web environment prepared (not started)"
|
||||||
|
|
||||||
|
# Step 3: Prepare API environment
|
||||||
|
prepare-api:
|
||||||
|
@echo "🔧 Setting up API environment..."
|
||||||
|
@cp -n api/.env.example api/.env 2>/dev/null || echo "API .env already exists"
|
||||||
|
@cd api && uv sync --dev --extra all
|
||||||
|
@cd api && uv run flask db upgrade
|
||||||
|
@echo "✅ API environment prepared (not started)"
|
||||||
|
|
||||||
|
# Clean dev environment
|
||||||
|
dev-clean:
|
||||||
|
@echo "⚠️ Stopping Docker containers..."
|
||||||
|
@cd docker && docker compose -f docker-compose.middleware.yaml --env-file middleware.env -p dify-middlewares-dev down
|
||||||
|
@echo "🗑️ Removing volumes..."
|
||||||
|
@rm -rf docker/volumes/db
|
||||||
|
@rm -rf docker/volumes/redis
|
||||||
|
@rm -rf docker/volumes/plugin_daemon
|
||||||
|
@rm -rf docker/volumes/weaviate
|
||||||
|
@rm -rf api/storage
|
||||||
|
@echo "✅ Cleanup complete"
|
||||||
|
|
||||||
# Build Docker images
|
# Build Docker images
|
||||||
build-web:
|
build-web:
|
||||||
@echo "Building web Docker image: $(WEB_IMAGE):$(VERSION)..."
|
@echo "Building web Docker image: $(WEB_IMAGE):$(VERSION)..."
|
||||||
@@ -39,5 +81,21 @@ build-push-web: build-web push-web
|
|||||||
build-push-all: build-all push-all
|
build-push-all: build-all push-all
|
||||||
@echo "All Docker images have been built and pushed."
|
@echo "All Docker images have been built and pushed."
|
||||||
|
|
||||||
|
# Help target
|
||||||
|
help:
|
||||||
|
@echo "Development Setup Targets:"
|
||||||
|
@echo " make dev-setup - Run all setup steps for backend dev environment"
|
||||||
|
@echo " make prepare-docker - Set up Docker middleware"
|
||||||
|
@echo " make prepare-web - Set up web environment"
|
||||||
|
@echo " make prepare-api - Set up API environment"
|
||||||
|
@echo " make dev-clean - Stop Docker middleware containers"
|
||||||
|
@echo ""
|
||||||
|
@echo "Docker Build Targets:"
|
||||||
|
@echo " make build-web - Build web Docker image"
|
||||||
|
@echo " make build-api - Build API Docker image"
|
||||||
|
@echo " make build-all - Build all Docker images"
|
||||||
|
@echo " make push-all - Push all Docker images"
|
||||||
|
@echo " make build-push-all - Build and push all Docker images"
|
||||||
|
|
||||||
# Phony targets
|
# Phony targets
|
||||||
.PHONY: build-web build-api push-web push-api build-all push-all build-push-all
|
.PHONY: build-web build-api push-web push-api build-all push-all build-push-all dev-setup prepare-docker prepare-web prepare-api dev-clean help
|
||||||
|
Reference in New Issue
Block a user