26 lines
941 B
Bash
26 lines
941 B
Bash
#!/bin/bash
|
|
|
|
# Entrypoint 스크립트: Flask 웹서버 + Crontab 동시 실행
|
|
|
|
set -e
|
|
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] ========================================"
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] gnu-autouploader 컨테이너 시작"
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] ========================================"
|
|
|
|
# Flask 웹서버를 백그라운드에서 시작
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Flask 웹서버 시작 (포트 5000)..."
|
|
cd /app
|
|
export FLASK_APP=api_server.py
|
|
export PYTHONUNBUFFERED=1
|
|
/usr/bin/python -m flask run --host=0.0.0.0 --port=5000 >> /logs/flask.log 2>&1 &
|
|
FLASK_PID=$!
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Flask PID: $FLASK_PID"
|
|
|
|
# 함정 설정: 스크립트 종료 시 Flask도 종료
|
|
trap "kill $FLASK_PID 2>/dev/null; exit" SIGTERM SIGINT
|
|
|
|
# Crontab 데몬을 포그라운드에서 실행 (docker logs에 출력)
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Crontab 데몬 시작..."
|
|
/usr/sbin/cron -f
|