33 lines
1.0 KiB
Docker
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"] |