Files
computer-playbook/roles/web-app-chess
Kevin Veen-Birkenbach a1130e33d7 web-app-chess: refactor runtime & entrypoint
- Move entrypoint to files/ and deploy via copy
- Parameterize APP_KEY_FILE, data dir, and entrypoint paths
- Require explicit PORT/PG envs (remove fallbacks)
- Drop stray header from config/main.yml
- Dockerfile: use templated data dir & entrypoint; keep node user
- Compose: set custom image, adjust volume mapping
- env: derive APP_SCHEME from WEB_PROTOCOL; NODE_ENV from ENVIRONMENT
- tasks: add 01_core and simplify main to include it

Ref: https://chatgpt.com/share/68b851c5-4dd8-800f-8e9e-22b985597b8f
2025-09-03 16:34:04 +02:00
..

web-app-chess

Description

castling.club is a federated chess server built on the ActivityPub protocol.
It provides an open and decentralized way to play chess online, where games and moves are visible across the Fediverse.

Overview

Instead of relying on closed platforms, castling.club uses an arbiter actor (“the King”) to validate moves and mediate matches.
This ensures fair play, federation with platforms like Mastodon or Friendica, and community visibility of ongoing games.
The service runs as a lightweight Node.js app backed by PostgreSQL.

Features

  • Federated Chess Matches: Challenge and play with others across the Fediverse.
  • Rule Enforcement: The arbiter validates each move for correctness.
  • Open Identities: Use your existing Fediverse account; no new silo account needed.
  • Game Visibility: Matches and moves can appear in social timelines.
  • Lightweight Service: Built with Node.js and PostgreSQL for efficiency.

Further Resources