Files
RepoRadar/Dockerfile
T

32 lines
951 B
Docker
Executable File

# RepoRadar — Discord bot Docker image
FROM python:3.12-slim
# Avoid interactive prompts + keep Python output unbuffered for clean logs.
ENV PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1 \
PIP_NO_CACHE_DIR=1
WORKDIR /app
# Install dependencies first for better layer caching.
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy the application source.
COPY . .
# Run as a non-root user; own the data directory it writes the SQLite DB to.
RUN useradd --create-home --uid 10001 reporadar \
&& mkdir -p /app/data \
&& chown -R reporadar:reporadar /app
USER reporadar
# Persist the SQLite database across container recreations.
VOLUME ["/app/data"]
# Lightweight import check so orchestrators can detect a broken image.
HEALTHCHECK --interval=60s --timeout=10s --retries=3 \
CMD python -c "import nextcord, aiohttp, aiosqlite" || exit 1
CMD ["python", "main.py"]