dynamo-signalk-logger-plugin
v2.0.0
Published
Securely archive Signal K deltas and upload encrypted, signed log parcels to a DYNAMO storage server.
Maintainers
Readme
DYNAMO Logger for Signal K
DYNAMO Logger securely archives Signal K vessel telemetry. It records deltas as newline-delimited JSON, rotates and compresses logs, signs each parcel with the vessel identity, encrypts it for a DYNAMO storage server, and retains failed uploads for automatic retry.

Highlights
- Durable, bounded upload queue with retry after timeouts and non-2xx responses.
- RSA-SHA256 vessel signatures and per-parcel AES-256-CBC encryption.
- Local gzip archives plus encrypted cloud parcels.
- Full-state snapshots at rotation boundaries and incremental Signal K deltas.
- Operational dashboard and authenticated REST status endpoints.
- Dependency-free Node.js 20+ runtime, including Cerbo GX compatibility.
- Official Signal K cross-platform CI indicators and
node:testcoverage.
Install and configure
Install DYNAMO Logger from the Signal K App Store, then configure it under Server → Plugin Config. Supply the DYNAMO server URL, choose a persistent storage directory, and set rotation/upload intervals. HTTPS is strongly recommended outside a trusted local network.
The plugin is intentionally not enabled by default: cloud transfer requires an operator-selected endpoint and an explicit privacy decision.
| Setting | Default |
|---|---:|
| Server URL | http://localhost:5000 |
| Storage directory | plugin data directory + /storage |
| Rotation interval | 300 seconds |
| Upload interval | 60 seconds; zero disables upload |
See the detailed installation and configuration guides.
Operations
The webapp displays live transfer speed, active-log size, queued parcels,
upload activity, recent samples, and the vessel public key. The same information
is available below /plugins/dynamo-signalk-logger-plugin through /info,
/publickey, /logs, /uploads, and /storage.
Runtime state is stored under the directory supplied by Signal K's
app.getDataDirPath(). Failed parcels remain in upload/ until a later 2xx
response acknowledges them.
Documentation
- Documentation index
- Architecture
- Operations
- Dashboard and API
- Security and privacy
- Parcel protocol
- Troubleshooting
- Development and testing
- Changelog
The compatible reference receiver is the DYNAMO Signal K Storage Server.
Development
npm install
npm test
npm run check
npm pack --dry-runContributions must preserve failed upload parcels, lifecycle restart safety, and the documented wire format. See AGENTS.md for repository-specific engineering rules.
License
Apache License 2.0. See LICENSE.
