Files
wc-timer/Dockerfile
2026-01-06 01:50:20 +01:00

33 lines
1.0 KiB
Docker

# 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 ./
COPY README.md ./
COPY CHANGELOG.md ./
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"]