No description
- TypeScript 86%
- HTML 6.6%
- CSS 5.9%
- Dockerfile 1.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Document the full path from local push to server deploy: pushing to git.andy-small.com, cloning/pulling on the host, and running docker compose, so deployment isn't tribal knowledge. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PLQgoC7Uf2Wa8szDscsso8 |
||
| docs/superpowers | ||
| src | ||
| .dockerignore | ||
| .gitignore | ||
| Caddyfile | ||
| docker-compose.yml | ||
| Dockerfile | ||
| index.html | ||
| MVP-template.md | ||
| nextaction.md | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| vite.config.ts | ||
GenericRetroTennis
A personal Pong clone. Single player vs. a computer opponent, first to 11 points (win by 2), no accounts, no sound.
Develop
npm install
npm run dev
Open the printed local URL in Chrome.
Build
npm run build
npm run preview
Deploy (Docker + Caddy, automatic HTTPS)
Requires a DNS A record for tennis.andy-small.com pointing at the
host, and ports 80/443 reachable from the internet (needed for the
Let's Encrypt HTTP-01 challenge).
1. Push local changes to git.andy-small.com
git add -A
git commit -m "..."
git push origin master
2. Get the code onto the hosting server
First time — clone the repo on the server:
git clone https://git.andy-small.com/andy/genericretrotennis.git
cd genericretrotennis
Subsequent updates — pull the latest master:
cd genericretrotennis
git pull origin master
3. Build and run with Docker Compose
docker compose up --build -d
This rebuilds the image from the current checkout and (re)starts the
retro-tennis container. Caddy handles HTTPS automatically via
Let's Encrypt on first request.
Confirm it worked:
docker compose logs -f
Check that Caddy obtained a certificate cleanly, then load
https://tennis.andy-small.com and verify it serves the game with a
valid cert.