File size: 1,353 Bytes
4c75661
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
# λ‹€λ₯Έ μŠ€ν¬λ¦½νŠΈκ°€ source ν•΄μ„œ μ“°λŠ” 곡용 헬퍼. 직접 μ‹€ν–‰ν•˜μ§€ μ•ŠλŠ”λ‹€.
#
# λͺ©μ : `usermod -aG docker` λŠ” 재둜그인 μ „κΉŒμ§€ μ μš©λ˜μ§€ μ•ŠλŠ”λ‹€.
# κ·Έ 사이에도 μŠ€ν¬λ¦½νŠΈκ°€ λ™μž‘ν•˜λ„λ‘ docker κΆŒν•œμ„ μ‹€μ œλ‘œ μ‹œν—˜ν•΄ 보고
# μ•ˆ 되면 sudo 둜 ν΄λ°±ν•œλ‹€.

PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"

say()  { printf '\n\033[1;36m==> %s\033[0m\n' "$*"; }
ok()   { printf '\033[1;32m  βœ” %s\033[0m\n' "$*"; }
warn() { printf '\033[1;33m  ! %s\033[0m\n' "$*"; }
die()  { printf '\033[1;31m  ✘ %s\033[0m\n' "$*" >&2; exit 1; }

if ! command -v docker >/dev/null 2>&1; then
  die "docker κ°€ μ„€μΉ˜λΌ μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€.  λ¨Όμ €:  ! bash scripts/host_install_docker.sh   (SETUP.md μ°Έκ³ )"
fi

if docker info >/dev/null 2>&1; then
  DOCKER=(docker)
else
  if sudo -n true 2>/dev/null; then
    DOCKER=(sudo docker)
  else
    warn "docker μ†ŒμΌ“μ— κΆŒν•œμ΄ μ—†μ–΄ sudo 둜 μ‹€ν–‰ν•©λ‹ˆλ‹€ (λΉ„λ°€λ²ˆν˜Έλ₯Ό λ¬Όμ–΄λ΄…λ‹ˆλ‹€)."
    warn "μž¬λ‘œκ·ΈμΈν•˜λ©΄ sudo 없이 μ“Έ 수 μžˆμŠ΅λ‹ˆλ‹€ β€” SETUP.md 3단계."
    DOCKER=(sudo docker)
  fi
fi

dc() { ( cd "$PROJECT_ROOT" && "${DOCKER[@]}" compose "$@" ); }

# .env λ‘œλ“œ (compose λŠ” μ•Œμ•„μ„œ μ½μ§€λ§Œ, μ…Έ μͺ½μ—μ„œλ„ 값이 ν•„μš”ν•˜λ‹€)
if [[ -f "$PROJECT_ROOT/.env" ]]; then
  set -a; . "$PROJECT_ROOT/.env"; set +a
fi