FROM node:24-bookworm-slim
WORKDIR /app
COPY --chown=node:node package.json README.md LICENSE .env.example ./
COPY --chown=node:node src ./src
COPY --chown=node:node public ./public
COPY --chown=node:node connector ./connector
COPY --chown=node:node scripts ./scripts
COPY --chown=node:node agent-studio ./agent-studio
RUN mkdir -p /app/data && chown node:node /app/data
USER node
ENV NODE_ENV=production HOST=0.0.0.0 PORT=3000 AF_DATA_DIR=/app/data
EXPOSE 3000
HEALTHCHECK --interval=30s --timeout=5s CMD node -e "fetch('http://127.0.0.1:3000/api/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
CMD ["node", "src/server.mjs"]
