mirror of
https://github.com/ghndrx/shellmate.git
synced 2026-02-10 06:45:02 +00:00
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
This commit is contained in:
29
Dockerfile
Normal file
29
Dockerfile
Normal file
@@ -0,0 +1,29 @@
|
||||
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"]
|
||||
Reference in New Issue
Block a user