FROM node:20-alpine

WORKDIR /app

# Copy package files first for better caching
COPY package*.json ./
RUN npm install

# Copy source code
COPY . .

# Compile contracts if needed
RUN npx hardhat compile || true

EXPOSE 5173

# Run development server with host binding for Docker
CMD ["npm", "run", "dev", "--", "--host", "0.0.0.0"]