From 1e1b50d61c7f50af96cd12843590cc71d5882d25 Mon Sep 17 00:00:00 2001 From: Hermes Date: Thu, 13 Aug 2026 07:20:30 -0700 Subject: [PATCH] feat: add Vintage Radio template (93rd app template) Beautiful retro radio UI with real internet station streams. Static nginx site with station cards and analog dial animation. --- dashcaddy-api/src/docker/app-templates.js | 36 +++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/dashcaddy-api/src/docker/app-templates.js b/dashcaddy-api/src/docker/app-templates.js index dad52b0..11b7eca 100644 --- a/dashcaddy-api/src/docker/app-templates.js +++ b/dashcaddy-api/src/docker/app-templates.js @@ -1764,6 +1764,42 @@ const APP_TEMPLATES = { ] }, + "vintage-radio": { + name: "Vintage Radio", + description: "Tune a beautiful retro radio through real internet stations (SomaFM, KEXP, BBC, Radio Paradise, and more)", + icon: "📻", + logo: "/assets/vintage-radio.png", + category: "Media", + popularity: 72, + difficulty: "Easy", + docker: { + image: "nginx:alpine", + ports: ["{{PORT}}:80"], + volumes: [ + "/opt/vintage-radio/web:/usr/share/nginx/html:ro" + ], + environment: {} + }, + subdomain: "radio", + defaultPort: 8090, + healthCheck: "/", + subpathSupport: 'none', + staticSite: true, + features: [ + "Vintage wooden-cabinet radio UI with analog dial", + "Curated list of real public internet-radio streams", + "Smooth tuner animation with frequency scanning", + "Live VU meter and station-name display", + "Add your own streams by editing stations.json" + ], + setupInstructions: [ + "Open radio.sami (or your configured subdomain)", + "Drag the dial or click a station card to tune in", + "To add stations, edit /opt/vintage-radio/web/stations.json on the host and restart the container" + ], + tags: ["radio", "music", "streaming", "audio", "vintage", "retro", "media"] + }, + "airsonic": { name: "Airsonic Advanced", description: "Free web-based media streamer",