Skip to content

Commit 669ed3a

Browse files
committed
local deploy script
1 parent 508728a commit 669ed3a

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

deploy-local

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#!/bin/bash
2+
3+
function usage {
4+
echo "Usage: $0 [-w]"
5+
echo ""
6+
echo " -w rebuild workspace (removes workspace data to force rebuild)"
7+
exit
8+
}
9+
10+
REBUILD_WORKSPACE=false
11+
export DOJO_PATH="./"
12+
export DATA_PATH="./data"
13+
14+
while getopts "wh" opt; do
15+
case $opt in
16+
w)
17+
REBUILD_WORKSPACE=true
18+
;;
19+
h)
20+
usage
21+
;;
22+
\?)
23+
echo "Invalid option: -$OPTARG" >&2
24+
usage
25+
;;
26+
esac
27+
done
28+
29+
if [ "$REBUILD_WORKSPACE" = true ]; then
30+
echo "Rebuilding workspace: removing workspace data..."
31+
sleep 10
32+
# Build workspace with new dojo
33+
docker exec dojo bash -c "export DOJO_WORKSPACE=core && docker compose --profile workspace up workspace-builder --force-recreate"
34+
35+
# Restart any user containers
36+
docker exec dojo docker ps -q --filter "name=user_" | xargs -r docker exec dojo docker restart
37+
fi
38+
39+
docker stop dojo
40+
docker rm dojo
41+
docker run \
42+
--name dojo \
43+
--privileged \
44+
--device=/dev/kvm:/dev/kvm \
45+
-v "${DOJO_PATH}:/opt/pwn.college" \
46+
-v "${DATA_PATH}:/data" \
47+
-p 23:22 \
48+
-p 80:80 \
49+
-p 443:443 \
50+
-e INTERNET_FOR_ALL=True \
51+
-d \
52+
pwncollege/dojo

0 commit comments

Comments
 (0)