NSF File Server
This project is a WAR web application that launches an SFTP server backed by a file storage NSF, storing the files and directories as user-side documents.
The generated application requires a Jakarta EE server with an active Notes runtime. The most straightforward way to create this is to use the Domino Open Liberty Runtime project.
The WAR has been developed and tested on Open Liberty 22.214.171.124, but should work on any JEE server that provides Servlet 3+, CDI 2, and MicroProfile Config 1.3.
The server supports two configuration properties loaded via MicroProfile Config:
SFTPNSFPath: the path to the NSF to use as a file store. Defaults to
filestore.nsfand can be either a base database path or an API path in "server!!path.nsf" format
SFTPNSFPort: the port used by the SFTP server. Defaults to
The spawned SSH server uses the current server's Domino directories for authentication. It supports two methods:
- Password authentication using the "HTTPPassword" item in the user's person document
- RSA public key authentication using a public key stored in the "sshPublicKey" item in the user's person document. This should be a text item containing the same contents as a "id_rsa.pub" file from OpenSSH
Compilation requires the availability of Mavenized Domino artifacts as done via
generate-domino-update-site with the group ID
The code in the project is licensed under the Apache License 2.0. The dependencies in the binary distribution are licensed under compatible licenses - see NOTICE for details.