fortnotes
v2.0.3
Published
FortNotes Server application to process client REST API requests.
Downloads
10
Maintainers
Readme
FortNotes Server
FortNotes is a highly secure online private information manager based on the AES encryption in the browser. This repo is for a new fully redesigned and reworked version. The current stable version can be found on the Bitbucket.
Getting Started
Node.js and NPM should be installed beforehand. Please follow the official instruction.
FortNotes Server is available as an npm package and should be installed globally:
npm install -g fortnotes
In Linux this can be done as a root:
sudo npm install -g fortnotes
Then to start a server with default options:
fortnotes
Usage
General way of usage:
fortnotes [options]
Full list of available options can be provided by the fortnotes
application:
fortnotes --help
To run FortNotes Server with the specific configuration:
fortnotes --config ~/.fortnotes/config.json
Where the content of config.json
:
{
"port": 8080,
"dataLimit": 50,
"sessionTokenSize": 128,
"sessionConfirmAttempts": 5,
"smtpTransport": {
"service": "gmail",
"auth": {
"user": "[email protected]",
"pass": "userpass"
}
},
"database": "sqlite://./data.sqlite"
}
DBMS Support
- MySQL & MariaDB
- PostgreSQL
- Amazon Redshift (not tested)
- SQLite
There are some config file examples for mysql, postgres, sqlite in memory and other options.
Config file options
Name | Description -------------------------|------------- debug | enable verbose debug mode test | run tests and exit port | HTTP port serving REST API requests dataSize | maximum encrypted data size (notes, tags) hashSize | notes/tags sha512 hash size dataLimit | default amount of returned records in lists of notes, sessions etc. dataLimitMax | maximum amount of returned records in lists sessionTokenSize | generated token size in bytes sessionConfirmCodeSize | generated token confirmation code size in bytes sessionConfirmAttempts | allowed amount of attempts to activate sessions smtpTransport | nodemailer SMTP transport configuration (use direct if not set) mailOptions | nodemailer e-mail message fields restify | server creation options passed to restify package database | database connection options passed to node-orm2 package
Default config options are listed in the config.js.
Development
Get the latest version of source files:
git clone [email protected]:fortnotes/server.git
cd server
Install global dependencies:
sudo npm install -g gulp node-dev
Then install local dependencies:
npm install
Now you can start it like this:
node-dev ./bin/cli.js --config ./tests/configs/sqlite.json --debug
To see sub-system log details:
DEBUG=* node ./bin/cli.js --config ./tests/configs/sqlite.json
Full REST API documentation is built from source files and available online.
Testing
It's possible to run all tests locally with given config:
fortnotes --config ~/.fortnotes/config.json --test
Tests are also run on Travis CI for node versions 0.10.x
, 0.12.x
and iojs
.
License
FortNotes Server is released under the GPL-3.0 License.