cryptpad persistence
This commit is contained in:
parent
71dfe2f0ea
commit
55b97aae90
2 changed files with 154 additions and 159 deletions
|
@ -7,185 +7,172 @@ module.exports = {
|
||||||
httpPort: 3000,
|
httpPort: 3000,
|
||||||
httpSafePort: 3001,
|
httpSafePort: 3001,
|
||||||
|
|
||||||
|
adminKeys: [
|
||||||
|
"[cyplo@notes.purrfect.estate/Ii+Y2Z5ZDAN2fFpAEQu93SDjQcWkSfY7eaSvhCJedX8=]",
|
||||||
|
],
|
||||||
|
|
||||||
/* =====================
|
/* =====================
|
||||||
* Admin
|
* STORAGE
|
||||||
|
* ===================== */
|
||||||
|
|
||||||
|
/* Pads that are not 'pinned' by any registered user can be set to expire
|
||||||
|
* after a configurable number of days of inactivity (default 90 days).
|
||||||
|
* The value can be changed or set to false to remove expiration.
|
||||||
|
* Expired pads can then be removed using a cron job calling the
|
||||||
|
* `evict-inactive.js` script with node
|
||||||
|
*
|
||||||
|
* defaults to 90 days if nothing is provided
|
||||||
|
*/
|
||||||
|
//inactiveTime: 90, // days
|
||||||
|
|
||||||
|
/* CryptPad archives some data instead of deleting it outright.
|
||||||
|
* This archived data still takes up space and so you'll probably still want to
|
||||||
|
* remove these files after a brief period.
|
||||||
|
*
|
||||||
|
* cryptpad/scripts/evict-inactive.js is intended to be run daily
|
||||||
|
* from a crontab or similar scheduling service.
|
||||||
|
*
|
||||||
|
* The intent with this feature is to provide a safety net in case of accidental
|
||||||
|
* deletion. Set this value to the number of days you'd like to retain
|
||||||
|
* archived data before it's removed permanently.
|
||||||
|
*
|
||||||
|
* defaults to 15 days if nothing is provided
|
||||||
|
*/
|
||||||
|
//archiveRetentionTime: 15,
|
||||||
|
|
||||||
|
/* It's possible to configure your instance to remove data
|
||||||
|
* stored on behalf of inactive accounts. Set 'accountRetentionTime'
|
||||||
|
* to the number of days an account can remain idle before its
|
||||||
|
* documents and other account data is removed.
|
||||||
|
*
|
||||||
|
* Leave this value commented out to preserve all data stored
|
||||||
|
* by user accounts regardless of inactivity.
|
||||||
|
*/
|
||||||
|
//accountRetentionTime: 365,
|
||||||
|
|
||||||
|
/* Starting with CryptPad 3.23.0, the server automatically runs
|
||||||
|
* the script responsible for removing inactive data according to
|
||||||
|
* your configured definition of inactivity. Set this value to `true`
|
||||||
|
* if you prefer not to remove inactive data, or if you prefer to
|
||||||
|
* do so manually using `scripts/evict-inactive.js`.
|
||||||
|
*/
|
||||||
|
//disableIntegratedEviction: true,
|
||||||
|
|
||||||
|
|
||||||
|
/* Max Upload Size (bytes)
|
||||||
|
* this sets the maximum size of any one file uploaded to the server.
|
||||||
|
* anything larger than this size will be rejected
|
||||||
|
* defaults to 20MB if no value is provided
|
||||||
|
*/
|
||||||
|
//maxUploadSize: 20 * 1024 * 1024,
|
||||||
|
|
||||||
|
/* Users with premium accounts (those with a plan included in their customLimit)
|
||||||
|
* can benefit from an increased upload size limit. By default they are restricted to the same
|
||||||
|
* upload size as any other registered user.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
//premiumUploadSize: 100 * 1024 * 1024,
|
||||||
|
|
||||||
|
/* =====================
|
||||||
|
* DATABASE VOLUMES
|
||||||
* ===================== */
|
* ===================== */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* CryptPad contains an administration panel. Its access is restricted to specific
|
* CryptPad stores each document in an individual file on your hard drive.
|
||||||
* users using the following list.
|
* Specify a directory where files should be stored.
|
||||||
* To give access to the admin panel to a user account, just add their public signing
|
* It will be created automatically if it does not already exist.
|
||||||
* key, which can be found on the settings page for registered users.
|
|
||||||
* Entries should be strings separated by a comma.
|
|
||||||
*/
|
*/
|
||||||
/*
|
filePath: './datastore/',
|
||||||
adminKeys: [
|
|
||||||
//"[cryptpad-user1@my.awesome.website/YZgXQxKR0Rcb6r6CmxHPdAGLVludrAF2lEnkbx1vVOo=]",
|
|
||||||
],
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* =====================
|
/* CryptPad offers the ability to archive data for a configurable period
|
||||||
* STORAGE
|
* before deleting it, allowing a means of recovering data in the event
|
||||||
* ===================== */
|
* that it was deleted accidentally.
|
||||||
|
*
|
||||||
|
* To set the location of this archive directory to a custom value, change
|
||||||
|
* the path below:
|
||||||
|
*/
|
||||||
|
archivePath: './data/archive',
|
||||||
|
|
||||||
/* Pads that are not 'pinned' by any registered user can be set to expire
|
/* CryptPad allows logged in users to request that particular documents be
|
||||||
* after a configurable number of days of inactivity (default 90 days).
|
* stored by the server indefinitely. This is called 'pinning'.
|
||||||
* The value can be changed or set to false to remove expiration.
|
* Pin requests are stored in a pin-store. The location of this store is
|
||||||
* Expired pads can then be removed using a cron job calling the
|
* defined here.
|
||||||
* `evict-inactive.js` script with node
|
*/
|
||||||
*
|
pinPath: './data/pins',
|
||||||
* defaults to 90 days if nothing is provided
|
|
||||||
*/
|
|
||||||
//inactiveTime: 90, // days
|
|
||||||
|
|
||||||
/* CryptPad archives some data instead of deleting it outright.
|
/* if you would like the list of scheduled tasks to be stored in
|
||||||
* This archived data still takes up space and so you'll probably still want to
|
|
||||||
* remove these files after a brief period.
|
|
||||||
*
|
|
||||||
* cryptpad/scripts/evict-inactive.js is intended to be run daily
|
|
||||||
* from a crontab or similar scheduling service.
|
|
||||||
*
|
|
||||||
* The intent with this feature is to provide a safety net in case of accidental
|
|
||||||
* deletion. Set this value to the number of days you'd like to retain
|
|
||||||
* archived data before it's removed permanently.
|
|
||||||
*
|
|
||||||
* defaults to 15 days if nothing is provided
|
|
||||||
*/
|
|
||||||
//archiveRetentionTime: 15,
|
|
||||||
|
|
||||||
/* It's possible to configure your instance to remove data
|
|
||||||
* stored on behalf of inactive accounts. Set 'accountRetentionTime'
|
|
||||||
* to the number of days an account can remain idle before its
|
|
||||||
* documents and other account data is removed.
|
|
||||||
*
|
|
||||||
* Leave this value commented out to preserve all data stored
|
|
||||||
* by user accounts regardless of inactivity.
|
|
||||||
*/
|
|
||||||
//accountRetentionTime: 365,
|
|
||||||
|
|
||||||
/* Starting with CryptPad 3.23.0, the server automatically runs
|
|
||||||
* the script responsible for removing inactive data according to
|
|
||||||
* your configured definition of inactivity. Set this value to `true`
|
|
||||||
* if you prefer not to remove inactive data, or if you prefer to
|
|
||||||
* do so manually using `scripts/evict-inactive.js`.
|
|
||||||
*/
|
|
||||||
//disableIntegratedEviction: true,
|
|
||||||
|
|
||||||
|
|
||||||
/* Max Upload Size (bytes)
|
|
||||||
* this sets the maximum size of any one file uploaded to the server.
|
|
||||||
* anything larger than this size will be rejected
|
|
||||||
* defaults to 20MB if no value is provided
|
|
||||||
*/
|
|
||||||
//maxUploadSize: 20 * 1024 * 1024,
|
|
||||||
|
|
||||||
/* Users with premium accounts (those with a plan included in their customLimit)
|
|
||||||
* can benefit from an increased upload size limit. By default they are restricted to the same
|
|
||||||
* upload size as any other registered user.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
//premiumUploadSize: 100 * 1024 * 1024,
|
|
||||||
|
|
||||||
/* =====================
|
|
||||||
* DATABASE VOLUMES
|
|
||||||
* ===================== */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* CryptPad stores each document in an individual file on your hard drive.
|
|
||||||
* Specify a directory where files should be stored.
|
|
||||||
* It will be created automatically if it does not already exist.
|
|
||||||
*/
|
|
||||||
filePath: './datastore/',
|
|
||||||
|
|
||||||
/* CryptPad offers the ability to archive data for a configurable period
|
|
||||||
* before deleting it, allowing a means of recovering data in the event
|
|
||||||
* that it was deleted accidentally.
|
|
||||||
*
|
|
||||||
* To set the location of this archive directory to a custom value, change
|
|
||||||
* the path below:
|
|
||||||
*/
|
|
||||||
archivePath: './data/archive',
|
|
||||||
|
|
||||||
/* CryptPad allows logged in users to request that particular documents be
|
|
||||||
* stored by the server indefinitely. This is called 'pinning'.
|
|
||||||
* Pin requests are stored in a pin-store. The location of this store is
|
|
||||||
* defined here.
|
|
||||||
*/
|
|
||||||
pinPath: './data/pins',
|
|
||||||
|
|
||||||
/* if you would like the list of scheduled tasks to be stored in
|
|
||||||
a custom location, change the path below:
|
a custom location, change the path below:
|
||||||
*/
|
*/
|
||||||
taskPath: './data/tasks',
|
taskPath: './data/tasks',
|
||||||
|
|
||||||
/* if you would like users' authenticated blocks to be stored in
|
/* if you would like users' authenticated blocks to be stored in
|
||||||
a custom location, change the path below:
|
a custom location, change the path below:
|
||||||
*/
|
*/
|
||||||
blockPath: './block',
|
blockPath: './block',
|
||||||
|
|
||||||
/* CryptPad allows logged in users to upload encrypted files. Files/blobs
|
/* CryptPad allows logged in users to upload encrypted files. Files/blobs
|
||||||
* are stored in a 'blob-store'. Set its location here.
|
* are stored in a 'blob-store'. Set its location here.
|
||||||
*/
|
*/
|
||||||
blobPath: './blob',
|
blobPath: './blob',
|
||||||
|
|
||||||
/* CryptPad stores incomplete blobs in a 'staging' area until they are
|
/* CryptPad stores incomplete blobs in a 'staging' area until they are
|
||||||
* fully uploaded. Set its location here.
|
* fully uploaded. Set its location here.
|
||||||
*/
|
*/
|
||||||
blobStagingPath: './data/blobstage',
|
blobStagingPath: './data/blobstage',
|
||||||
|
|
||||||
decreePath: './data/decrees',
|
decreePath: './data/decrees',
|
||||||
|
|
||||||
/* CryptPad supports logging events directly to the disk in a 'logs' directory
|
/* CryptPad supports logging events directly to the disk in a 'logs' directory
|
||||||
* Set its location here, or set it to false (or nothing) if you'd rather not log
|
* Set its location here, or set it to false (or nothing) if you'd rather not log
|
||||||
*/
|
*/
|
||||||
logPath: './data/logs',
|
logPath: './data/logs',
|
||||||
|
|
||||||
/* =====================
|
/* =====================
|
||||||
* Debugging
|
* Debugging
|
||||||
* ===================== */
|
* ===================== */
|
||||||
|
|
||||||
/* CryptPad can log activity to stdout
|
/* CryptPad can log activity to stdout
|
||||||
* This may be useful for debugging
|
* This may be useful for debugging
|
||||||
*/
|
*/
|
||||||
logToStdout: false,
|
logToStdout: false,
|
||||||
|
|
||||||
/* CryptPad can be configured to log more or less
|
/* CryptPad can be configured to log more or less
|
||||||
* the various settings are listed below by order of importance
|
* the various settings are listed below by order of importance
|
||||||
*
|
*
|
||||||
* silly, verbose, debug, feedback, info, warn, error
|
* silly, verbose, debug, feedback, info, warn, error
|
||||||
*
|
*
|
||||||
* Choose the least important level of logging you wish to see.
|
* Choose the least important level of logging you wish to see.
|
||||||
* For example, a 'silly' logLevel will display everything,
|
* For example, a 'silly' logLevel will display everything,
|
||||||
* while 'info' will display 'info', 'warn', and 'error' logs
|
* while 'info' will display 'info', 'warn', and 'error' logs
|
||||||
*
|
*
|
||||||
* This will affect both logging to the console and the disk.
|
* This will affect both logging to the console and the disk.
|
||||||
*/
|
*/
|
||||||
logLevel: 'debug',
|
logLevel: 'debug',
|
||||||
|
|
||||||
/* clients can use the /settings/ app to opt out of usage feedback
|
/* clients can use the /settings/ app to opt out of usage feedback
|
||||||
* which informs the server of things like how much each app is being
|
* which informs the server of things like how much each app is being
|
||||||
* used, and whether certain clientside features are supported by
|
* used, and whether certain clientside features are supported by
|
||||||
* the client's browser. The intent is to provide feedback to the admin
|
* the client's browser. The intent is to provide feedback to the admin
|
||||||
* such that the service can be improved. Enable this with `true`
|
* such that the service can be improved. Enable this with `true`
|
||||||
* and ignore feedback with `false` or by commenting the attribute
|
* and ignore feedback with `false` or by commenting the attribute
|
||||||
*
|
*
|
||||||
* You will need to set your logLevel to include 'feedback'. Set this
|
* You will need to set your logLevel to include 'feedback'. Set this
|
||||||
* to false if you'd like to exclude feedback from your logs.
|
* to false if you'd like to exclude feedback from your logs.
|
||||||
*/
|
*/
|
||||||
logFeedback: false,
|
logFeedback: false,
|
||||||
|
|
||||||
/* CryptPad supports verbose logging
|
/* CryptPad supports verbose logging
|
||||||
* (false by default)
|
* (false by default)
|
||||||
*/
|
*/
|
||||||
verbose: false,
|
verbose: false,
|
||||||
|
|
||||||
/* Surplus information:
|
/* Surplus information:
|
||||||
*
|
*
|
||||||
* 'installMethod' is included in server telemetry to voluntarily
|
* 'installMethod' is included in server telemetry to voluntarily
|
||||||
* indicate how many instances are using unofficial installation methods
|
* indicate how many instances are using unofficial installation methods
|
||||||
* such as Docker.
|
* such as Docker.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
installMethod: 'unspecified',
|
installMethod: 'unspecified',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,15 @@
|
||||||
};
|
};
|
||||||
virtualisation.oci-containers.containers.cryptpad = {
|
virtualisation.oci-containers.containers.cryptpad = {
|
||||||
image = "promasu/cryptpad:nginx";
|
image = "promasu/cryptpad:nginx";
|
||||||
volumes = [ "${./cryptpad.config.js}:/cryptpad/config/config.js" ];
|
volumes = [
|
||||||
|
"${./cryptpad.config.js}:/cryptpad/config/config.js"
|
||||||
|
|
||||||
|
"cryptpad_blob:/cryptpad/blob"
|
||||||
|
"cryptpad_block:/cryptpad/block"
|
||||||
|
"cryptpad_customize:/cryptpad/customize"
|
||||||
|
"cryptpad_data:/cryptpad/data"
|
||||||
|
"cryptpad_data_files:/cryptpad/datastore"
|
||||||
|
];
|
||||||
environment = {
|
environment = {
|
||||||
CPAD_MAIN_DOMAIN = "notes.purrfect.estate";
|
CPAD_MAIN_DOMAIN = "notes.purrfect.estate";
|
||||||
CPAD_SANDBOX_DOMAIN = "notes-sandbox.purrfect.estate";
|
CPAD_SANDBOX_DOMAIN = "notes-sandbox.purrfect.estate";
|
||||||
|
|
Loading…
Add table
Reference in a new issue