Files
shellmate/Dockerfile
Greg Hendrickson 590fbe045c feat: ShellMate - SSH Chess TUI
Play chess in your terminal over SSH. No installs, no accounts.

Features:
- Beautiful terminal-filling chess board with ANSI colors
- Play against Stockfish AI (multiple difficulty levels)
- Two-step move interaction with visual feedback
- Leaderboard with PostgreSQL persistence
- SSH key persistence across restarts

Infrastructure:
- Docker containerized deployment
- CI/CD pipeline for dev/staging/production
- Health checks with auto-rollback
- Landing page at shellmate.sh

Tech: Python 3.12+, asyncssh, python-chess, Stockfish
2026-02-01 20:05:58 +00:00

30 lines
610 B
Docker

FROM python:3.12-slim
# Install Stockfish
RUN apt-get update && apt-get install -y \
stockfish \
openssh-client \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
# Copy everything needed for install
COPY pyproject.toml README.md ./
COPY src/ src/
# Install Python dependencies
RUN pip install --no-cache-dir .
# Create user and directories
RUN useradd -m shellmate && \
mkdir -p /etc/shellmate && \
chown shellmate:shellmate /etc/shellmate
EXPOSE 22
# Key is generated at runtime (see entrypoint) or mounted from volume
ENV STOCKFISH_PATH=/usr/games/stockfish
CMD ["shellmate-server"]