mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-09-08 11:17:17 +02:00
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
26 lines
1.1 KiB
Markdown
26 lines
1.1 KiB
Markdown
# 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
|
|
|
|
- [castling.club GitHub Repository](https://github.com/stephank/castling.club)
|
|
- [ActivityPub Specification (W3C)](https://www.w3.org/TR/activitypub/)
|