FROM node:18-alpine WORKDIR /app # Install build dependencies for native modules (better-sqlite3, bcrypt) RUN apk add --no-cache python3 make g++ # Copy package files COPY package*.json ./ # Install dependencies RUN npm install # Copy application files COPY server.js ./ COPY database.js ./ COPY index.html ./ COPY admin.html ./ COPY animations.js ./ COPY manifest.json ./ COPY service-worker.js ./ # Copy .env file if it exists (for VAPID keys) COPY .env* ./ # Copy PWA icons COPY icon-*.png ./ # Copy monster images COPY mapgameimgs ./mapgameimgs # Copy game music COPY mapgamemusic ./mapgamemusic # Copy .well-known directory for app verification COPY .well-known ./.well-known # Copy default.kml if it exists (optional) COPY default.kml* ./ EXPOSE 8080 CMD ["node", "server.js"]