A separate, lightweight companion app: add any podsteadr server's URL, browse its catalog and feeds, play free episodes directly, and buy priced ones (NIP-07 signing, Lightning invoice + QR, then playback via the paywall-gated download-url endpoint). No backend of its own — pure static SPA, fetches other podsteadr instances directly. Dark glassmorphism theme matching Archipelago's own dashboard (dark background, translucent blurred panels, orange accent). Vite's base path is configurable via VITE_BASE (build arg / .env, not hardcoded) so the same image can be deployed either at a dedicated port's root (no reverse-proxy prefix) or under a subpath behind a shared HTTPS domain, depending on the host. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
19 lines
565 B
Docker
19 lines
565 B
Docker
# ---- build ----
|
|
FROM docker.io/library/node:22-bookworm-slim AS build
|
|
WORKDIR /build
|
|
COPY package*.json ./
|
|
RUN npm ci
|
|
COPY . .
|
|
# Root deploys (own port, no reverse-proxy prefix) leave this unset and default to '/'.
|
|
ARG VITE_BASE=/
|
|
ENV VITE_BASE=$VITE_BASE
|
|
RUN npm run build
|
|
|
|
# ---- runtime ----
|
|
FROM docker.io/library/nginx:1.27-alpine
|
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
|
COPY --from=build /build/dist /usr/share/nginx/html
|
|
EXPOSE 8097
|
|
HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
|
|
CMD wget -qO- http://localhost:8097/ >/dev/null || exit 1
|