Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions appspec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ permissions:
group: ec2-user

hooks:
BeforeInstall:
- location: scripts/pre_install.sh
timeout: 120
runas: ec2-user
AfterInstall:
- location: scripts/stop.sh
timeout: 60
Expand Down
20 changes: 20 additions & 0 deletions scripts/pre_install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env bash

PROJECT_ROOT="/home/ec2-user/app"

cd $PROJECT_ROOT

NEED_RESTART=0
for CONTAINER in pitchain_filebeat pitchain_logstash pitchain_kibana pitchain_elasticsearch; do
if ! docker ps --format '{{.Names}}' | grep -q "^${CONTAINER}$"; then
echo "$CONTAINER 컨테이너가 실행 중이 아닙니다."
NEED_RESTART=1
fi
done

if [ $NEED_RESTART -eq 1 ]; then
echo "하나 이상의 ELK 컨테이너가 다운되어 있으므로 ELK 및 Filebeat를 재시작합니다."
docker-compose --profile setup -f docker-compose-elk.yml up --build -d
else
echo "모든 ELK 컨테이너가 정상적으로 실행 중입니다."
fi