-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathstart
More file actions
executable file
·76 lines (60 loc) · 1.66 KB
/
Copy pathstart
File metadata and controls
executable file
·76 lines (60 loc) · 1.66 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
#!/bin/bash
#
# Start the docker compose application in different supported modes or build it.
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
pushd $SCRIPT_DIR > /dev/null 2>&1
AVAILABLE_COMMANDS=$(find . -maxdepth 1 -type f -name "docker-compose-*.yml" | sed -E 's|./docker-compose-(.*)\.yml|\1|' | sort | uniq)
function show_help {
echo "Usage: $0 [COMMAND] [SERVICE] [OPTIONS]"
echo
echo "COMMAND:"
echo
echo "$AVAILABLE_COMMANDS" | awk '{print " - "$1}'
}
if [[ "$1" == "--help" || "$1" == "-h" ]]; then
show_help
exit 0
fi
if [ -f ".env" ]; then
source ".env"
fi
if [ ! -f "appsettings.Production.json" ]; then
echo "{}" > "appsettings.Production.json"
fi
if [ $# -ge 1 ]; then
export COMMAND=$1
shift
else
export COMMAND=production
fi
if ! echo "$AVAILABLE_COMMANDS" | grep -qw "$COMMAND"; then
echo "Error: Invalid command '$COMMAND'"
echo
show_help
exit 1
fi
SECOND_COMPOSE_FILE="docker-compose-${COMMAND}.yml"
if [ ! -f "$SECOND_COMPOSE_FILE" ]; then
echo "Error: $SECOND_COMPOSE_FILE does not exist."
exit 1
fi
if [ "$COMMAND" == "build" ]; then
exec docker compose -f docker-compose.yml -f "$SECOND_COMPOSE_FILE" build --pull $@
fi
if [ "$COMMAND" != "debug" ]; then
docker compose -f docker-compose.yml -f "$SECOND_COMPOSE_FILE" pull
if [ $# -eq 0 ]; then
set -- -d
fi
fi
docker compose -f docker-compose.yml -f "$SECOND_COMPOSE_FILE" up "$@"
if [ "$COMMAND" == "local" ]; then
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
if [[ -f "$SCRIPT_DIR/Arcadeia.dll" ]]; then
if [[ "$OS" == "darwin" ]]; then
xattr -r -d com.apple.quarantine "$SCRIPT_DIR"
fi
exec dotnet Arcadeia.dll
fi
fi