31 lines
1.8 KiB
Markdown
31 lines
1.8 KiB
Markdown
# CLAUDE.md
|
|
|
|
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
|
|
## What this is
|
|
|
|
A Caddy static file server running in Docker Compose. It serves the `www/` directory at `:80` with directory browsing enabled. `www/` is a grab-bag of standalone, self-contained HTML pages (chart demos, QR/invoice scanners, Lit + Tailwind examples, a luopan compass, etc.) — there is no build step, bundler, or framework shared across them. Each `.html` file is opened directly by the browser; most pull their dependencies from CDNs inline.
|
|
|
|
## Commands
|
|
|
|
```sh
|
|
./run.sh # docker-compose up -d (start the server)
|
|
./stop.sh # docker-compose down
|
|
./list_docker_compose_services.sh # docker-compose ps
|
|
./view-output-from-containers.sh # docker-compose logs -f
|
|
./enter_caddy_container.sh # shell into the running container
|
|
```
|
|
|
|
After editing the `Caddyfile`, restart with `./stop.sh && ./run.sh` (the file is bind-mounted, not hot-reloaded). HTML files under `www/` are bind-mounted live — just refresh the browser.
|
|
|
|
## Layout
|
|
|
|
- `Caddyfile` — server config. Mounted to `/etc/caddy/Caddyfile`. Currently serves `/var/www/static` with `file_server browse` + gzip.
|
|
- `docker-compose.yaml` — single `caddy` service, bind-mounts `./Caddyfile`, `./caddy_data` (certs/state), and `./www` → `/var/www/static`. Port 80. `TZ=Asia/Taipei`.
|
|
- `www/` — served content. Add a new demo by dropping a `.html` file (and any asset subdir) here; it's immediately reachable at `http://localhost/<name>.html`.
|
|
|
|
## Notes
|
|
|
|
- Each HTML page stands alone. When editing one, don't assume shared CSS/JS with the others — check that file's own `<head>`.
|
|
- `*.tar.gz` and `*_BACKUP_*` / `*.ORIG-BACKUP_*` files in the repo are snapshots/backups, not live content.
|