FROM node:22-slim RUN npm install -g tsx WORKDIR /app COPY package.json package-lock.json ./ RUN npm ci --omit=dev # Copy app source COPY src/ src/ COPY public/ public/ COPY content/about.md content/about.md COPY knowledge/published/ knowledge/published/ COPY knowledge/atproto-manifest.json knowledge/atproto-manifest.json COPY tsconfig.json ./ ENV PORT=8080 ENV NODE_ENV=production EXPOSE 8080 CMD ["tsx", "--conditions", "source", "src/index.tsx"]