31 lines
1.4 KiB
Markdown
31 lines
1.4 KiB
Markdown
# MoreminiMore redesign
|
||
|
||
An Astro website for MoreminiMore with four service landing pages and a same-origin Express contact API delivered through Amazon SES.
|
||
|
||
## Local development
|
||
|
||
```sh
|
||
npm install
|
||
npm run dev
|
||
```
|
||
|
||
## Production build
|
||
|
||
```sh
|
||
npm run build
|
||
npm start
|
||
```
|
||
|
||
## Docker deployment
|
||
|
||
```sh
|
||
docker build -t moreminimore-site .
|
||
docker run --rm --env-file .env -p 4321:4321 moreminimore-site
|
||
```
|
||
|
||
The site is served at `http://localhost:4321`. Copy `.env.example` to `.env`. Production email delivery requires `SES_ACCESS_KEY_ID`, `SES_SECRET_ACCESS_KEY`, and `SES_REGION`; the sender and recipient both default to `kunthawat@moreminimore.com` and can be overridden with `SES_FROM_EMAIL` and `CONTACT_TO_EMAIL`.
|
||
|
||
`META_ACCESS_TOKEN` and `GA4_API_SECRET` are optional. When configured, a successful email submission also sends consent-scoped server conversions. `META_PIXEL_ID` defaults to `418349260078648` and `GA4_MEASUREMENT_ID` defaults to `G-74BHREDLC3`. Provider timeouts or failures never change the successful form response. In non-production mode, valid submissions are accepted without sending email or provider conversions so the flow can be tested safely.
|
||
|
||
`TRUST_PROXY` defaults to `0`, so forwarded client-IP headers are ignored. Behind a known reverse proxy, set it to the explicit hop count (`1`–`3`) that matches the deployment path; never set it to `true`. Contact requests are rate-limited per resolved client IP.
|