Nowledge Mem Snap
NKnowledge Mem self-managed backup service, supporting scheduled snapshots and retention policies
Nknowledge Mem Snap is a self-hosted Nknowledge Mem backup service. (Lazy cat oidc has been integrated) It synchronizes each logged in user's own backup configuration to S3-compatible storage and WebDAV. The recommended source is a portable ZIP exported by the official Data Transfer API of Knowledge Mem; the directory source is mainly used for operation and maintenance directory snapshots in Docker scenarios, and can only access the explicitly allowed mount root directories. function Multi-user isolation: source, target, schedule, export options, backup cleanup policies, task, and run history are isolated by user/tenant. All configurations are stored in the database, and users manage them through Web UI forms, without needing to edit the local JSON configuration file. Launched the Setup Wizard for the first time; initialization of administrators through environment variables is also supported. Password login and optional OIDC login. User profile: Nicknames, avatar URLs, and uploaded pictures are automatically transferred to base64 for storage. Source: knowledgemem_api: Export the knowledge-Mem portable ZIP via github.com/lib-x/nowledgemem-go directory: Compress the allowed directory, suitable for mounting the data / config directory of NKnowledge Mem Docker for operation and maintenance snapshots. The remote Knowledge Mem source, directory source, and S3/WebDAV target can all be tested at the click of a button in the UI. Target: S3/R2 compatible storage based on github.com/fclairaramb/afero-s3. WebDAV, based on github.com/lib-x/aferodav and this project's HTTP WebDAV adaptation. Reusable NKnowledge Mem export option to select what data the portable archive contains. Reusable backup cleanup strategies: no cleanup, keep the most recent N copies, keep the most recent N days, keep after a certain date, and keep before a certain date. Planning: Support daily, weekly, and single execution; execution time is explained according to process TZ. An AES-GCM encrypted backup package is optional for each task. Tasks are only responsible for combining sources, targets, schedules, export options, and backup cleanup policies. The running history is automatically cleaned up by the number of items and days to avoid infinite expansion of the database. Use slog to output structured logs, and use lumberjack to write files and automatically rotate. Embedded React UI, using animal-island-ui.






