/
dockenv.sh
executable file
·85 lines (73 loc) · 1.16 KB
/
dockenv.sh
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
#!/usr/bin/env bash
###
# @Author: Cloudflying
# @Date: 2024-04-30 18:51:36
# @LastEditTime: 2024-05-01 22:06:32
# @LastEditors: Cloudflying
# @Description:
###
# Docker Compose Manager
ROOT_PATH=$(dirname "$(realpath "$0")")
_start() {
"$@" up -d
}
_stop() {
"$@" stop
}
_restart() {
"$@" restart
}
_remove() {
"$@" down
}
_recreate() {
"$@" up --force-recreate -d
}
_ps() {
"$@" ps
}
_pull() {
"$@" pull
}
_service() {
COMPOSE_FILE="${ROOT_PATH}/compose/${2}.compose.yml"
[ -z "${2}" ] && echo "error: Service is empty" && exit 1
if [[ -f "${COMPOSE_FILE}" ]]; then
# echo "==> $1 $2"
"_${1}" docker-compose -f "${COMPOSE_FILE}" --env-file "${ROOT_PATH}/.env" --project-name "${2}"
else
echo "error: Service $2 Not Found, See ./dockenv.sh -h"
fi
}
_usage() {
echo "Usage: bash $0 [start|stop|restart|recreate|remove] [anmp|elk|services|gitea|downloader|mariadb]"
}
case "$1" in
start)
_service "$@"
;;
stop)
_service "$@"
;;
restart)
_service "$@"
;;
recreate)
_service "$@"
;;
remove)
_service "$@"
;;
ps)
_service "$@"
;;
pull)
_service "$@"
;;
"-h|--help|usage|--usage")
_usage
;;
*)
_usage
;;
esac