FROM node:20-alpine WORKDIR /app # Copy package files COPY package*.json ./ # Install dependencies RUN npm install # Copy application files COPY . . # Create data directory for SQLite database RUN mkdir -p /app/data # Accept build arguments ARG SITE_URL=https://nlcc.rydertech.us ARG AUTH_SECRET=change-this-secret-in-production-please ARG ADMIN_USERNAME=admin ARG ADMIN_PASSWORD=Admin123! ARG EMAIL_HOST=smtp.example.com ARG EMAIL_PORT=587 ARG EMAIL_USER=noreply@example.com ARG EMAIL_PASSWORD=your-email-password ARG EMAIL_FROM=New Life Christian Church # Set environment variables for build ENV SITE_URL=$SITE_URL ENV AUTH_SECRET=$AUTH_SECRET ENV ADMIN_USERNAME=$ADMIN_USERNAME ENV ADMIN_PASSWORD=$ADMIN_PASSWORD ENV EMAIL_HOST=$EMAIL_HOST ENV EMAIL_PORT=$EMAIL_PORT ENV EMAIL_USER=$EMAIL_USER ENV EMAIL_PASSWORD=$EMAIL_PASSWORD ENV EMAIL_FROM=$EMAIL_FROM # Build the application RUN npm run build # Expose port EXPOSE 3000 # Set runtime environment variables ENV NODE_ENV=production ENV NUXT_HOST=0.0.0.0 ENV NUXT_PORT=3000 # Start the application CMD ["node", ".output/server/index.mjs"]