feat: add React UI for rpm.lair.cafe
Some checks failed
poll-upstream / check (push) Successful in 1s
deploy-ui / build-and-deploy (push) Failing after 19s

- Vite + React + SWC + TypeScript SPA with react-router and
  react-bootstrap
- Dark/light/system theme with Bootstrap 5.3 data-bs-theme
- Home page with repo setup instructions and copyable code blocks
- Package list and detail pages driven by packages.json
- Python script to generate packages.json from repodata XML
- Nginx config updated for SPA fallback, asset caching, removed
  autoindex
- New deploy-ui workflow triggered on ui/ or nginx config changes,
  requires runners with nvm label
- packages.json generation added to publish job after createrepo_c
- Runner setup docs for nvm and sequoia-sq added to readme

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-27 12:55:38 +03:00
parent a6cebc76ba
commit 7f9e857695
23 changed files with 2577 additions and 4 deletions

View File

@@ -10,16 +10,17 @@ server {
root /var/www/rpm;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
types {
application/x-rpm rpm;
application/xml xml;
}
default_type application/octet-stream;
location /assets/ {
expires 1y;
add_header Cache-Control "public, immutable";
}
location ~ \.rpm$ {
expires 30d;
add_header Cache-Control "public, immutable";
@@ -30,7 +31,16 @@ server {
add_header Cache-Control "no-cache, must-revalidate";
}
location ~ packages\.json$ {
expires 5m;
add_header Cache-Control "public, must-revalidate";
}
location ~ \.gpg$ {
default_type text/plain;
}
location / {
try_files $uri $uri/ /index.html;
}
}