e252ddb952
- Organize backend into src/ (routes/, services/, db/) per package.json entrypoint - Add migrations/import-mdb.js for one-time .mdb → SQLite migration - Add public/ frontend: check ledger table, slide-in new/edit panel, PDF generation - Add docker/Dockerfile and docker-compose.yml for self-hosted deployment - Add .github/workflows: Docker Hub build+push on main/tags, TODO→Issues scanner - Add GnuMICR font files (GPL-2.0) for MICR E-13B line rendering
19 lines
331 B
Docker
19 lines
331 B
Docker
FROM node:20-alpine
|
|
|
|
# mdbtools for migration script (only needed on first run, stays in image for convenience)
|
|
RUN apk add --no-cache mdbtools
|
|
|
|
WORKDIR /app
|
|
|
|
COPY package*.json ./
|
|
RUN npm ci --omit=dev
|
|
|
|
COPY . .
|
|
|
|
# Data volume: SQLite database and any runtime uploads
|
|
VOLUME ["/app/data"]
|
|
|
|
EXPOSE 3000
|
|
|
|
CMD ["node", "src/app.js"]
|