#!/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