# hfclarke

Static site for [H.F. Clarke Industries Inc.](https://hfclarke.com) — a Calgary
supplier of boilers, burners, heat-recovery systems, duplex strainers, and parts.

> The private `/admin` upload panel (Flask sidecar + `public/uploads/`) was
> **removed 2026-07-08**. This is now a plain static site. Contact on the page is
> a phone number + `mailto:hfclarke@telus.net` — there is no web form/backend.

## Project Info
- Type: custom (single `nginx:alpine` service serving `./public/`)
- Port: `172.17.0.1:3108` — Caddy reverse-proxies `hfclarke.com` → `host.docker.internal:3108`
- Owners: rian + bev
- Created: 2026-06-24

## Files
```
/srv/apps/hfclarke/
├── docker-compose.yml   # nginx:alpine, serves ./public
├── nginx.conf           # static site (mounted at /etc/nginx/conf.d/default.conf)
├── .env                 # PROJECT_NAME, PORT (no secrets)
├── .project.json        # type: custom
├── CLAUDE.md            # This file
└── public/              # static site
    ├── index.html
    ├── style.css
    └── images/
```

## Managing
```bash
srv-gw deploy  --project hfclarke   # apply compose / nginx.conf changes
srv-gw restart --project hfclarke   # pick up edited files in public/
srv-gw logs    --project hfclarke
srv-gw status  --project hfclarke
```

## Editing the site
Edit files in `public/` directly — the project group (`hfclarke-dev`) has write
access via setgid+ACL, then `srv-gw restart --project hfclarke`. If a fresh
terminal session can't write, run `newgrp hfclarke-dev` once. Keep new files
world-readable (`chmod a+rX`) so the nginx worker can read them.

## DNS
- `hfclarke.com` and `www.hfclarke.com` both CNAME → `mosiah.riverway.ca` in
  Cloudflare. `www` 301s to the apex at Caddy.
