Update README.md
This commit is contained in:
@@ -1,148 +1,7 @@
|
|||||||
# Euchre Scoreboard
|
services:
|
||||||
|
web:
|
||||||
A web-based Euchre scoring app with a card-table theme. Track scores for two teams, handle march/euchre/lone outcomes, and play to 10 or 11 points.
|
image: jones013/euchre-scoreboard:latest
|
||||||
|
ports:
|
||||||
## Features
|
- 20010:80
|
||||||
|
restart: unless-stopped
|
||||||
- Two-team scoreboard with editable team names
|
networks: {}
|
||||||
- Quick scoring: Made (+1), March (+2), Lone (+4)
|
|
||||||
- Defensive scoring: Euchre (+2), Lone stopped (+4)
|
|
||||||
- Hand history with undo
|
|
||||||
- Configurable target score (10 or 11)
|
|
||||||
- Scores persist in browser localStorage
|
|
||||||
- Mobile-friendly layout
|
|
||||||
|
|
||||||
## Quick Start
|
|
||||||
|
|
||||||
Both local and Docker modes serve the app at [http://localhost:20010](http://localhost:20010).
|
|
||||||
|
|
||||||
### Run locally
|
|
||||||
|
|
||||||
Requires Python 3.7+ (usually pre-installed on Linux and macOS).
|
|
||||||
|
|
||||||
```bash
|
|
||||||
python3 serve.py
|
|
||||||
```
|
|
||||||
|
|
||||||
Other ways to start locally:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
make run
|
|
||||||
# or
|
|
||||||
npm start
|
|
||||||
```
|
|
||||||
|
|
||||||
Options:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
python3 serve.py --port 3000 # use a different port
|
|
||||||
python3 serve.py --no-open # don't open a browser automatically
|
|
||||||
```
|
|
||||||
|
|
||||||
### Run with Docker
|
|
||||||
|
|
||||||
Requires Docker and Docker Compose.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker compose up --build
|
|
||||||
```
|
|
||||||
|
|
||||||
Other ways to start with Docker:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
make docker
|
|
||||||
# or
|
|
||||||
npm run start:docker
|
|
||||||
```
|
|
||||||
|
|
||||||
Without Compose:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker build -t euchre-scoreboard .
|
|
||||||
docker run -p 20010:80 euchre-scoreboard
|
|
||||||
```
|
|
||||||
|
|
||||||
Stop Docker:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
make stop
|
|
||||||
# or
|
|
||||||
docker compose down
|
|
||||||
```
|
|
||||||
|
|
||||||
## Publish the Docker image
|
|
||||||
|
|
||||||
Build a tagged image ready to push or share:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Local tag (default)
|
|
||||||
make docker-image
|
|
||||||
|
|
||||||
# Your registry tag (Docker Hub, GHCR, etc.)
|
|
||||||
make docker-image IMAGE=yourusername/euchre-scoreboard TAG=latest
|
|
||||||
```
|
|
||||||
|
|
||||||
### Push to a registry
|
|
||||||
|
|
||||||
Log in first (`docker login`), then push:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
make docker-push IMAGE=yourusername/euchre-scoreboard TAG=latest
|
|
||||||
```
|
|
||||||
|
|
||||||
Examples:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Docker Hub
|
|
||||||
docker login
|
|
||||||
make docker-push IMAGE=yourusername/euchre-scoreboard TAG=1.0.0
|
|
||||||
|
|
||||||
# GitHub Container Registry
|
|
||||||
docker login ghcr.io
|
|
||||||
make docker-push IMAGE=ghcr.io/yourusername/euchre-scoreboard TAG=latest
|
|
||||||
```
|
|
||||||
|
|
||||||
Others can run your published image with:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker run -p 20010:80 yourusername/euchre-scoreboard:latest
|
|
||||||
```
|
|
||||||
|
|
||||||
### Export as a file (upload elsewhere)
|
|
||||||
|
|
||||||
Creates a `.tar` archive you can upload to any host and load with `docker load`:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
make docker-save IMAGE=euchre-scoreboard TAG=1.0.0
|
|
||||||
```
|
|
||||||
|
|
||||||
On the destination machine:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker load -i euchre-scoreboard-1.0.0.tar
|
|
||||||
docker run -p 20010:80 euchre-scoreboard:1.0.0
|
|
||||||
```
|
|
||||||
|
|
||||||
## Scoring Reference
|
|
||||||
|
|
||||||
| Outcome | Points |
|
|
||||||
|---------|--------|
|
|
||||||
| Makers win 3–4 tricks | +1 |
|
|
||||||
| Makers win all 5 tricks (march) | +2 |
|
|
||||||
| Makers win 0–2 tricks (euchred) | +2 to defenders |
|
|
||||||
| Lone wins 3–4 tricks | +1 |
|
|
||||||
| Lone wins all 5 tricks | +4 |
|
|
||||||
| Lone stopped (0–2 tricks) | +4 to defenders |
|
|
||||||
|
|
||||||
## Project Layout
|
|
||||||
|
|
||||||
```
|
|
||||||
Euchre/
|
|
||||||
├── public/ # Static web app (HTML, CSS, JS)
|
|
||||||
├── serve.py # Local dev server
|
|
||||||
├── Dockerfile # Production-style nginx container
|
|
||||||
├── docker-compose.yml
|
|
||||||
└── Makefile # run / docker shortcuts
|
|
||||||
```
|
|
||||||
|
|
||||||
No build step is required for local development.
|
|
||||||
|
|||||||
Reference in New Issue
Block a user