Files
my-lotto/lotto-runner/Dockerfile
hyeonggil 7738d1a74f 🚚 refactor: lotto-runner 독립 배포 환경으로 분리
- lotto_auto_buy.py를 루트에서 lotto-runner/로 이동
- 로그 경로를 logs/ 하위로 변경 (볼륨 마운트 대응)
- Dockerfile: node:22 → python:3.11-bookworm, Chrome 직접 설치 추가
- docker-compose.yml 신규 생성 (NAS Container Manager용)
- CI: requirements.txt 및 스크립트 경로를 lotto-runner/ 기준으로 수정
- Slack 알림 전송 기능 구현 (send_slack 함수)
- Chrome 컨테이너 구동 안정화 플래그 추가
- popupLayerAlert JS 강제 숨김으로 클릭 인터셉트 해결
2026-03-15 22:09:28 +09:00

40 lines
1.4 KiB
Docker

FROM python:3.11-bookworm
ENV DEBIAN_FRONTEND=noninteractive
ENV VIRTUAL_ENV=/opt/venv
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
# Chrome 시스템 의존성 설치
RUN apt-get update && apt-get install -y \
fonts-liberation fonts-noto-cjk \
libasound2 libatk-bridge2.0-0 libatk1.0-0 libc6 \
libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 \
libgbm1 libgcc1 libglib2.0-0 libgtk-3-0 libnspr4 libnss3 \
libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 \
libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 \
libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 \
libxss1 libxtst6 xdg-utils curl wget gnupg ca-certificates unzip \
&& rm -rf /var/lib/apt/lists/*
# Google Chrome 설치 (.deb 직접 다운로드 방식 - NAS 방화벽에 안정적)
RUN wget -q -O /tmp/google-chrome.deb \
https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
&& apt-get update \
&& apt-get install -y /tmp/google-chrome.deb \
&& rm /tmp/google-chrome.deb \
&& rm -rf /var/lib/apt/lists/*
# Python 가상환경 및 패키지 설치
RUN python3 -m venv /opt/venv \
&& /opt/venv/bin/python -m pip install --upgrade pip setuptools wheel
WORKDIR /app
COPY requirements.txt /tmp/requirements.txt
RUN /opt/venv/bin/pip install -r /tmp/requirements.txt
COPY lotto_auto_buy.py /app/lotto_auto_buy.py
RUN mkdir -p /app/logs
CMD ["python", "lotto_auto_buy.py"]