7ba5e888b4
- App.tsx: bypass auth gate, swap canvas save/load to localStorage - Sidebar.tsx: hide scan views and Scan Network button - useStatusPolling.ts: skip WebSocket connection - Dockerfile.frontend: accept VITE_STANDALONE build arg - docker-publish.yml: build ghcr.io/pouzor/homelable-frontend-standalone image - docker-compose.standalone.yml: frontend-only compose file - install.sh: add --standalone flag Usage: curl -fsSL .../install.sh | bash -s -- --standalone cd homelable && docker compose up -d
23 lines
416 B
Docker
23 lines
416 B
Docker
# Stage 1: build
|
|
FROM node:20-alpine AS builder
|
|
|
|
ARG VITE_STANDALONE=false
|
|
ENV VITE_STANDALONE=$VITE_STANDALONE
|
|
|
|
WORKDIR /app
|
|
COPY frontend/package*.json ./
|
|
RUN npm ci
|
|
|
|
COPY frontend/ .
|
|
RUN npm run build
|
|
|
|
# Stage 2: serve
|
|
FROM nginx:alpine
|
|
|
|
COPY --from=builder /app/dist /usr/share/nginx/html
|
|
|
|
# Nginx config: proxy /api and /ws to backend, serve SPA
|
|
COPY docker/nginx.conf /etc/nginx/conf.d/default.conf
|
|
|
|
EXPOSE 80
|