Skydata001 commited on
Commit
10b998d
Β·
verified Β·
1 Parent(s): fd02e6a

Upload 2 files

Browse files
Files changed (2) hide show
  1. Dockerfile +59 -0
  2. requirements.txt +4 -0
Dockerfile ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ── Stage 1: builder ─────────────────────────────────────────────────────────
2
+ FROM python:3.11-slim AS builder
3
+
4
+ WORKDIR /build
5
+
6
+ # System deps for Pillow
7
+ RUN apt-get update && apt-get install -y --no-install-recommends \
8
+ gcc \
9
+ libjpeg-dev \
10
+ zlib1g-dev \
11
+ libfreetype6-dev \
12
+ liblcms2-dev \
13
+ libopenjp2-7-dev \
14
+ libtiff-dev \
15
+ libwebp-dev \
16
+ && rm -rf /var/lib/apt/lists/*
17
+
18
+ COPY requirements.txt .
19
+ RUN pip install --no-cache-dir --prefix=/install -r requirements.txt
20
+
21
+
22
+ # ── Stage 2: runtime ─────────────────────────────────────────────────────────
23
+ FROM python:3.11-slim
24
+
25
+ LABEL maintainer="WelcomeBot"
26
+ LABEL description="Discord Welcome Bot β€” restricted to guild 1463693244897693779"
27
+
28
+ # Runtime system deps
29
+ RUN apt-get update && apt-get install -y --no-install-recommends \
30
+ libjpeg62-turbo \
31
+ zlib1g \
32
+ libfreetype6 \
33
+ fonts-dejavu-core \
34
+ && rm -rf /var/lib/apt/lists/*
35
+
36
+ # Copy installed packages from builder
37
+ COPY --from=builder /install /usr/local
38
+
39
+ # Non-root user for security
40
+ RUN useradd -m -u 1000 botuser
41
+ USER botuser
42
+
43
+ WORKDIR /app
44
+
45
+ # Copy source
46
+ COPY --chown=botuser:botuser src/ ./
47
+
48
+ # Persistent data directory
49
+ RUN mkdir -p /app/data
50
+
51
+ # Environment
52
+ ENV PYTHONUNBUFFERED=1
53
+ ENV PYTHONDONTWRITEBYTECODE=1
54
+
55
+ # Health check β€” just verifies Python process alive
56
+ HEALTHCHECK --interval=30s --timeout=10s --start-period=15s --retries=3 \
57
+ CMD python -c "import discord; print('ok')" || exit 1
58
+
59
+ CMD ["python", "bot.py"]
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ discord.py==2.3.2
2
+ Pillow==10.3.0
3
+ aiohttp==3.9.5
4
+ numpy==1.26.4