-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
117 lines (99 loc) · 3.22 KB
/
Makefile
File metadata and controls
117 lines (99 loc) · 3.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# EVVM Docker Makefile
# Convenience commands for building and running EVVM CLI in Docker
.PHONY: help build run deploy register shell clean version stop clean-wallets clean-image rebuild logs
# Default target
help:
@echo "EVVM Docker - Available commands:"
@echo ""
@echo " make build - Build the Docker image"
@echo " make run - Run CLI with help command"
@echo " make deploy - Run EVVM deployment (interactive)"
@echo " make register - Run EVVM registration (interactive)"
@echo " make shell - Open interactive bash shell"
@echo " make version - Show EVVM CLI version"
@echo ""
@echo "Cleanup commands:"
@echo " make stop - Stop running containers (keeps data)"
@echo " make clean-image - Remove image only (keeps wallets/data)"
@echo " make clean - Remove everything (images, containers, volumes)"
@echo " make clean-wallets - Remove only saved wallets"
@echo ""
@echo "Ensure you have created .env from .env.example before deploying"
# Build the Docker image
build:
@echo "Building EVVM CLI Docker image..."
docker compose build
# Run the CLI (shows help by default)
run:
docker compose run --rm evvm-cli help
# Deploy EVVM (interactive)
deploy:
@echo "Starting EVVM deployment..."
docker compose run --rm evvm-cli deploy
# Register EVVM
register:
@echo "Starting EVVM registration..."
docker compose run --rm evvm-cli register
# Setup cross-chain treasuries
setup-cross-chain:
@echo "Setting up cross-chain treasuries..."
docker compose run --rm evvm-cli setUpCrossChainTreasuries
# Open interactive bash shell
shell:
@echo "Opening interactive shell..."
docker compose run --rm --entrypoint /bin/bash evvm-cli
# Show version
version:
docker compose run --rm evvm-cli version
# Install dependencies (inside container)
install:
docker compose run --rm evvm-cli install
# Run developer commands
dev:
docker compose run --rm evvm-cli dev
# Clean up Docker resources
clean:
@echo "Removing Docker image and containers..."
docker compose down --rmi all --volumes --remove-orphans
@echo "Cleanup complete (wallets and deployment data removed)"
# Remove only saved wallets
clean-wallets:
@echo "Removing saved wallets..."
docker volume rm evvm-docker_foundry-keystores 2>/dev/null || true
@echo "Wallets removed. Reimport with: make shell"
# Stop running containers
stop:
@echo "Stopping containers..."
docker compose down
@echo "Containers stopped (data preserved)"
# Remove only images (keep wallets and data)
clean-image:
@echo "Removing Docker image only..."
docker compose down --rmi all
@echo "Image removed. Run 'make build' to rebuild"
# Rebuild without cache
rebuild:
@echo "Rebuilding Docker image without cache..."
docker compose build --no-cache
# Show container logs
logs:
docker compose logs -f
# Quick setup guide
setup:
@echo "EVVM Docker Quick Setup:"
@echo ""
@echo "1. Create environment file:"
@echo " cd .. && cp .env.example .env"
@echo ""
@echo "2. Edit .env with your configuration:"
@echo " nano ../.env"
@echo ""
@echo "3. Build the Docker image:"
@echo " make build"
@echo ""
@echo "4. Import wallet (in interactive shell):"
@echo " make shell"
@echo " cast wallet import defaultKey --interactive"
@echo ""
@echo "5. Deploy EVVM:"
@echo " make deploy"