mirror of
https://github.com/OpenHands/OpenHands.git
synced 2025-12-26 05:48:36 +08:00
Add Makefile (#432)
This commit is contained in:
parent
a08c82d35e
commit
c6cc5f6b5a
63
Makefile
Normal file
63
Makefile
Normal file
@ -0,0 +1,63 @@
|
||||
# Makefile for OpenDevin project
|
||||
|
||||
# Variables
|
||||
DOCKER_IMAGE = ghcr.io/opendevin/sandbox
|
||||
BACKEND_PORT = 3000
|
||||
FRONTEND_PORT = 3001
|
||||
DEFAULT_WORKSPACE_DIR = "./workspace"
|
||||
CONFIG_FILE = config.toml
|
||||
|
||||
# Build
|
||||
build:
|
||||
@echo "Building project..."
|
||||
@echo "Pulling Docker image..."
|
||||
@docker pull $(DOCKER_IMAGE)
|
||||
@echo "Installing Python dependencies..."
|
||||
@pip install pipenv
|
||||
@pipenv install -v
|
||||
@echo "Setting up frontend environment..."
|
||||
@cd frontend && npm install
|
||||
|
||||
# Start backend
|
||||
start-backend:
|
||||
@echo "Starting backend..."
|
||||
@pipenv run uvicorn opendevin.server.listen:app --port $(BACKEND_PORT)
|
||||
|
||||
# Start frontend
|
||||
start-frontend:
|
||||
@echo "Starting frontend..."
|
||||
@cd frontend && npm run start -- --port $(FRONTEND_PORT)
|
||||
|
||||
# Run the app
|
||||
run:
|
||||
@echo "Running the app..."
|
||||
@mkdir -p logs
|
||||
@pipenv run nohup uvicorn opendevin.server.listen:app --port $(BACKEND_PORT) > logs/backend_$(shell date +'%Y%m%d_%H%M%S').log 2>&1 &
|
||||
@cd frontend && npm run start -- --port $(FRONTEND_PORT)
|
||||
|
||||
# Setup config.toml
|
||||
setup-config:
|
||||
@echo "Setting up config.toml..."
|
||||
@read -p "Enter your LLM API key: " llm_api_key; \
|
||||
echo "LLM_API_KEY=\"$$llm_api_key\"" >> $(CONFIG_FILE).tmp
|
||||
@read -p "Enter your LLM Model name [default: gpt-4-0125-preview]: " llm_model; \
|
||||
echo "LLM_MODEL=\"$$llm_model\"" >> $(CONFIG_FILE).tmp
|
||||
@read -p "Enter your workspace directory [default: $(DEFAULT_WORKSPACE_DIR)]: " workspace_dir; \
|
||||
workspace_dir=$${workspace_dir:-$(DEFAULT_WORKSPACE_DIR)}; \
|
||||
echo "WORKSPACE_DIR=\"$$workspace_dir\"" >> $(CONFIG_FILE).tmp
|
||||
@mv $(CONFIG_FILE).tmp $(CONFIG_FILE)
|
||||
|
||||
# Help
|
||||
help:
|
||||
@echo "Usage: make [target]"
|
||||
@echo "Targets:"
|
||||
@echo " build - Build project, including environment setup and dependencies."
|
||||
@echo " start-backend - Start the backend server for the OpenDevin project."
|
||||
@echo " start-frontend - Start the frontend server for the OpenDevin project."
|
||||
@echo " run - Run the OpenDevin application, starting both backend and frontend servers."
|
||||
@echo " Backend Log file will be stored in the 'logs' directory."
|
||||
@echo " setup-config - Setup the configuration for OpenDevin by providing LLM API key, LLM Model name, and workspace directory."
|
||||
@echo " help - Display this help message, providing information on available targets."
|
||||
|
||||
# Phony targets
|
||||
.PHONY: install start-backend start-frontend run setup-config help
|
||||
Loading…
x
Reference in New Issue
Block a user