Spun out mDMS strategy + tooling from m/otto into its own repo on 2026-05-15. Migrated: - docs/strategy.md (was: m/otto:docs/mdms-strategy.md) - infra/paperless/ (config + audit + migrate scripts) - infra/samba-canon/ (Canon MB5100 SMB1 bridge container) History in m/otto: issues #429–#438. Going forward, all mDMS issues file here. Sibling m/paperless (separate repo) remains the bare Docker Compose for Paperless-ngx itself.
68 lines
2.4 KiB
Markdown
68 lines
2.4 KiB
Markdown
# mDMS
|
||
|
||
m's document management — Paperless-ngx + AI-classification pipeline, Canon scanner SMB bridge, strategy + tooling.
|
||
|
||
Spun out from `m/otto` on 2026-05-15 — issues #429–#438 in `m/otto` are the
|
||
provenance trail. Going forward, all mDMS work lives here.
|
||
|
||
## Layout
|
||
|
||
```
|
||
mDMS/
|
||
├── docs/
|
||
│ └── strategy.md # Taxonomy, layout, conventions (the bible)
|
||
├── infra/
|
||
│ ├── paperless/ # Paperless-AI config: SYSTEM_PROMPT, audit scripts,
|
||
│ │ # migrate_types.py, deploy docker-compose
|
||
│ └── samba-canon/ # SMB1 bridge container for Canon MB5100 scanner
|
||
│ # (host-network + nmbd, SMB1+NTLMv1 for old printer)
|
||
└── README.md
|
||
```
|
||
|
||
## Components
|
||
|
||
### Paperless-ngx (deployment)
|
||
|
||
Compose lives in **`m/paperless`** (separate repo). That repo is the
|
||
deployment artifact — `~/paperless/` on mDock is its checkout. This repo
|
||
(`m/mDMS`) tracks the *AI classification* layer that sits on top of
|
||
Paperless-ngx (`infra/paperless/SYSTEM_PROMPT.txt`, the type/tag/
|
||
correspondent migration scripts, the audit pipeline).
|
||
|
||
### Paperless-AI
|
||
|
||
Runs on `mdock:3077` in front of Paperless-ngx (`mdock:8777`). Classifies
|
||
each ingested document into one of the 10 canonical types and ≤2 of the
|
||
13 canonical tags. The system prompt + the migration scripts in
|
||
`infra/paperless/` are the source of truth — keep this repo and the
|
||
live Paperless-AI `aidata/.env` in sync.
|
||
|
||
### Canon SMB bridge
|
||
|
||
`infra/samba-canon/` is the host-network Samba 4.10 container on mDock
|
||
that the Canon MB5100 scans to. Files land in `/mnt/mdms/inbox/` (NFS
|
||
from mTrueNAS) and Paperless polls every 60s. The two-stage inbox
|
||
(staging dir + age-gated mover) lives separately under `~/mdms-mover/`
|
||
on mDock — see `m/otto` issue #438.
|
||
|
||
## Data
|
||
|
||
NFS-mounted from mTrueNAS: `/mnt/mPool/mdms/` → `/mnt/mdms/` on all
|
||
consumers. Layout:
|
||
|
||
```
|
||
/mnt/mPool/mdms/
|
||
├── inbox/ # SMB scanner target (Canon writes here)
|
||
├── toprocess/ # Age-gated staging → Paperless consumes here
|
||
├── paperless/ # Paperless storage (post-ingest)
|
||
├── archive/ # Long-term archive
|
||
├── templates/ # Document templates
|
||
└── export/ # Manual exports
|
||
```
|
||
|
||
## Reference
|
||
|
||
- `docs/strategy.md` — full strategy, taxonomy decisions, type/tag rationale
|
||
- `m/otto` issues #429–#438 — original implementation history
|
||
- `m/paperless` — the bare Paperless-ngx Docker Compose setup
|