Vite + Vue 3 + DaisyUI SPA (project picker + Slack avatar member grid) with a TypeScript/Node (Hono) backend proxying Napta + Slack, SQLite avatar cache via node:sqlite, and docker-compose for Coolify deploy.
12 lines
371 B
Docker
12 lines
371 B
Docker
# Node 24 runs TypeScript directly (type stripping) and ships node:sqlite
|
|
# built in — so no build step, no tsx, no native sqlite module needed.
|
|
FROM node:24-alpine
|
|
WORKDIR /app
|
|
COPY package.json pnpm-lock.yaml* ./
|
|
RUN corepack enable && pnpm install --prod --frozen-lockfile
|
|
COPY . .
|
|
ENV PORT=8000
|
|
ENV DB_PATH=/app/data/app.db
|
|
EXPOSE 8000
|
|
CMD ["node", "src/index.ts"]
|