Files
RedditBot/Dockerfile
T
jjbruntonandClaude Opus 4.7 9389c6258a Set DEBIAN_FRONTEND=noninteractive in Dockerfile
tzdata was prompting for a timezone interactively during apt-get install,
which hangs the Dokploy build. Pin TZ=Etc/UTC and skip the prompt.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 18:51:40 +01:00

51 lines
1.1 KiB
Docker

# Use the official Playwright image which includes all browser dependencies
FROM mcr.microsoft.com/playwright:v1.57.0-jammy
# Install Xvfb (virtual display), x11vnc (VNC server) and noVNC (web-based VNC client)
# so a human can log in to Reddit through the dashboard.
ENV DEBIAN_FRONTEND=noninteractive \
TZ=Etc/UTC
RUN apt-get update && apt-get install -y --no-install-recommends \
tzdata \
xvfb \
x11vnc \
novnc \
websockify \
fluxbox \
procps \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
# Copy package files
COPY package*.json ./
# Install dependencies (including devDependencies for building)
RUN npm ci
# Copy source code
COPY . .
# Build the TypeScript project
RUN npm run build
# Create data directory
RUN mkdir -p data
# Copy entrypoint
COPY docker/entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh
# Web dashboard
EXPOSE 3000
# noVNC (browser-accessible VNC for human login)
EXPOSE 6080
ENV DISPLAY=:99 \
VNC_DISPLAY_NUM=99 \
VNC_PORT=5900 \
NOVNC_PORT=6080 \
SCREEN_GEOMETRY=1280x800x24
CMD ["/usr/local/bin/entrypoint.sh"]