34 lines
825 B
Python
34 lines
825 B
Python
# Use official Alpine-based Python image
|
|
FROM python:3.11-alpine
|
|
|
|
# Set working directory
|
|
WORKDIR /app
|
|
|
|
# Install system dependencies
|
|
RUN apk add --no-cache --virtual .build-deps \
|
|
gcc \
|
|
musl-dev \
|
|
libffi-dev \
|
|
&& apk add --no-cache bash
|
|
|
|
# Copy requirements first to leverage Docker cache
|
|
COPY requirements.txt .
|
|
|
|
# Install Python dependencies
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Copy application files
|
|
COPY GTbot.py .
|
|
|
|
# Remove build dependencies (keep image small)
|
|
RUN apk del .build-deps
|
|
|
|
# Set environment variables (fallback values if .env missing)
|
|
ENV API_BASE_URL=${API_BASE_URL}
|
|
ENV BEARER_TOKEN=${BEARER_TOKEN}
|
|
ENV TELEGRAM_TOKEN=${TELEGRAM_TOKEN2}
|
|
ENV ALLOWED_CHAT_ID=${ALLOWED_CHAT_ID}
|
|
ENV ALLOWED_THREAD_ID=${ALLOWED_THREAD_ID}
|
|
|
|
# Start the bot
|
|
CMD ["python3", "-u", "GTbot.py"] |