Private Registry Deployment

Tax offices and internal finance teams can host proprietary parser packs on their own infrastructure and point LedgerSprout to that private registry URL.

Good fit for: teams that maintain custom parsers and want to share them internally without publishing to a public registry.

What You Need

  • A server that can host static files (Nginx, Apache, S3-compatible, intranet web host)
  • A private parser source directory with parser folders (`manifest.yaml` + `parser.js`)
  • A deployment account for SSH/rsync
  • A stable URL for `index.json`

Registry Layout

Your hosted files should follow this layout:

/registry/index.json
/registry/parsers/<parser-id>-<version>.zip
/registry/categories/<pack-id>-<version>.zip  (optional)

No custom backend API is required. Static hosting is enough.

Publish Workflow

Use the bundled script:

scripts/publish_registry_private.sh

Example:

SSH_TARGET=deploy@office-server \
REMOTE_DIR=/srv/ledgersprout/registry \
BASE_URL=https://office.example.com/registry \
PARSER_SRC_DIR=/opt/private_parsers \
CATEGORY_SRC_DIR=/opt/private_categories \
./scripts/publish_registry_private.sh

Dry run:

SSH_TARGET=deploy@office-server \
REMOTE_DIR=/srv/ledgersprout/registry \
BASE_URL=https://office.example.com/registry \
./scripts/publish_registry_private.sh --dry-run

Client App Setup

  1. Open LedgerSprout and click Browse Registry
  2. Paste your private registry URL into Registry URL
  3. Click Save
  4. Use Reset any time to switch back to the default public registry

Security Basics

  • Use HTTPS for all registry endpoints
  • Restrict registry access to office users or VPN
  • Rotate deploy keys regularly
  • Keep parser source repositories private