# Użycie lekkiego, stabilnego obrazu Node.js FROM node:20-alpine # Ustawienie katalogu roboczego dla kodu źródłowego i zależności WORKDIR /app/wc-timer # Kopiowanie plików manifestu i instalacja zależności COPY package.json ./ RUN npm install # Kopiowanie reszty plików projektu (kod źródłowy) COPY src/wc-timer.js src/wc-timer.js # Instalacja prostego serwera HTTP RUN npm install -g http-server # Kopiowanie publicznego katalogu demonstracyjnego do osobnego miejsca WORKDIR /app/public COPY public/. . # Wracamy do głównego katalogu roboczego, skąd chcemy serwować pliki. WORKDIR /app # Utworzenie linku symbolicznego do pliku JS (jak w konfiguracji Nginx) # Serwer http-server będzie go poprawnie obsługiwał. RUN mkdir -p public/assets RUN ln -sf ../../wc-timer/src/wc-timer.js public/assets/wc-timer.js # Uruchomienie serwera WWW, serwującego katalog /app/public na porcie 8000 # -c-1 wyłącza cache, co jest pomocne w development CMD ["http-server", "public", "-p", "8000", "-c-1"]