# ${REPO_NAME} Static site hosted on the hantim platform. ## How it works Put your HTML, CSS, and JS in `static/`. Push to `main` and the site deploys automatically. ### Dockerfile Copies `static/` into an `nginx:alpine` container and applies `nginx.conf`. The container serves on port 80 — the platform's reverse proxy handles HTTPS and domain routing. ### nginx.conf Per-container HTTP config. Serves files from `static/` with clean URLs and aggressive caching for static assets. Edit this to add custom routing, headers, or rewrites. ### Media files Large files (images, videos, etc.) are stored in Garage (S3-compatible object storage), not in this repo. Upload with the AWS CLI: ``` aws --endpoint-url https://s3.hantim.net s3 cp photo.jpg s3://${REPO_NAME}/photo.jpg aws --endpoint-url https://s3.hantim.net s3 sync static/media/ s3://${REPO_NAME}/ ``` Media is served at `https://www.${REPO_NAME}/media/`. Reference it in your HTML: ```html ``` ## Deploy flow Push to `main` triggers `.gitea/workflows/build.yml`: 1. Build Docker image from this repo 2. Push to Gitea container registry 3. SSH to server and restart the container