mirror of
https://github.com/ghndrx/shellmate.git
synced 2026-02-10 06:45:02 +00:00
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
30 lines
610 B
Docker
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"]
|