Files
computer-playbook/roles/web-app-chess/README.md
Kevin Veen-Birkenbach 61c29eee60 web-app-chess: build/runtime hardening & feature enablement
Build: use Yarn 4 via Corepack; immutable install with inline builds.

Runtime: enable Corepack as user 'node', use project-local cache (/app/.yarn/cache), add curl; fix ownership.

Entrypoint: generate keys in correct dir; run 'yarn install --immutable --inline-builds' before migrations; wait for Postgres.

Config: enable matomo/css/desktop; notify 'docker compose build' on entrypoint changes.

Docs: rename README title to 'Chess'.

Ref: ChatGPT conversation (2025-09-03) — https://chatgpt.com/share/68b88126-7a6c-800f-acae-ae61ed577f46
2025-09-03 19:56:13 +02:00

1.1 KiB

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