Naposledy aktivní 1784575368

Revize d6d4d2eef5e5ca5caa8341d8c8f21eeb244ea511

mdtoolkit-install.sh Raw
1# mdtoolkit.install: $app_domain $app_port $@
2mdtoolkit.install(){
3
4# Config #
5app_name="mdtoolkit" # App Name
6app_repo_url="https://github.com/sinai-doron/md-todo-list" # App Codebase
7app_version="local"
8
9app_domain="${1:-"$app_name.$org_domain"}" # Unique app domain
10app_port="${2:-"8800"}" # App Port
11
12container_name="$app_name-$app_port"
13app_name_domain="$(echo $app_domain | tr "." "-")"
14app_path="/data/${app_name_domain}"
15code_path="$app_path/$(basename $app_repo_url)"
16app_container_config="$code_path/docker-compose.yml"
17
18# Setup paths #
19mkdir -p "$app_path"
20
21echo cd "$app_path"
22cd "$app_path"
23if [ ! $? == "0" ];then
24 err "Failed to cd \"$app_path\""
25 return 1
26fi
27
28# Install App #
29echo git clone "$app_repo_url"
30git clone "$app_repo_url"
31cd "$code_path"
32if [ ! $? == "0" ];then
33 err "Failed to cd \"$code_path\""
34 return 1
35fi
36
37tee "$code_path/pnpm-workspace.yaml" > /dev/null <<EOF
38allowBuilds:
39 '@firebase/util': true
40 esbuild: true
41 protobufjs: true
42 puppeteer: true
43EOF
44
45sed -i '9c\COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./' "$code_path/Dockerfile"
46
47# Make docker image
48echo sudo docker build -t $app_name-$app_version .
49time sudo docker build -t $app_name-$app_version .
50
51# Write docker-compose config
52tee "$app_container_config" > /dev/null <<EOF
53services:
54 $app_name:
55 container_name: $container_name
56 image: "$app_name-$app_version"
57 ports:
58 - "$app_port:8080"
59 restart: always
60EOF
61
62# Run App. LIVE!
63echo Running $app_name container in the background.
64
65echo sudo docker-compose down
66sudo docker-compose down
67
68echo sudo docker-compose up -d
69sudo docker-compose up -d
70
71echo open http://$(host.ip):$app_port
72
73}
74# ---