# Kestrel's Builds Write-ups of things I've made, each with a guide and whatever files that project needs. **Live:** https://builds.kestrelsnest.social A static site with no build step. Each build is a self-contained folder; the top-level `index.html` links to them. ## Files ``` index.html - Site index: one card per build og-image.jpg - OpenGraph image for the index (1200 x 630) deploy - Deployment script (rsync to server) greenman/ - Green Man mask index.html - The build and painting guides as one page img/ - Photos and part renders dl/ - Downloads: templates, guide PDFs, print files ``` ## Adding a build 1. Make a folder for it, named in lowercase with no spaces (`greenman`, `atompunk`). Put its page at `/index.html`, with its images and downloads inside the folder so its links stay relative. 2. In the top-level `index.html`, copy an `` card to the top of the list and change the link, image, alt text, title and the three lines of text. The newest build carries the extra class `first`, which gives it the full-width card; take `first` off the one it replaces. Card images are cropped to fit, so set `object-position` for the new image as `.greenman` does. 3. Give the new build's page a link back to the index, as `greenman/index.html` has at its top and bottom: `← Kestrel's Builds`. 4. Run `./deploy -n` to check what will be uploaded, then `./deploy`. ## Local preview ```bash python3 -m http.server 8000 ``` Then open http://localhost:8000. ## Deployment on YunoHost (My Webapp) ### 1. Install My Webapp In the YunoHost admin panel: 1. Go to **Applications** → **Install** 2. Search for "My Webapp" 3. Configure: - **Label**: Builds - **Domain/Path**: `builds.kestrelsnest.social` - **PHP version**: none needed - **Database**: none needed 4. Install ### 2. Point the deploy script at it Each My Webapp gets a numbered folder on the server. Find this one: ```bash ssh social 'ls -d /var/www/my_webapp*' ``` Set `DIR` in `deploy` to that folder's `www` directory, which for this site is `/var/www/my_webapp__3/www` (already set). ### 3. Deploy ```bash ./deploy -n # dry run ./deploy ``` The script rsyncs this folder to the server and deletes anything there that is no longer here. It skips the project's own files (`deploy`, `README.md`, `CLAUDE.md`, `.git`).