Something went wrong. Try again.
My NixOS dotfiles
Something went wrong. Try again.
12 kB · 302 lines
JavaScript
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302module.exports = {/* httpUnsafeOrigin is the URL that clients will enter to load your instance. * Any other URL that somehow points to your instance is supposed to be blocked. * The default provided below assumes you are loading CryptPad from a server * which is running on the same machine, using port 3000. * * In a production instance this should be available ONLY over HTTPS * using the default port for HTTPS (443) ie. https://cryptpad.fr * In such a case this should be also handled by NGINX, as documented in * cryptpad/docs/example.nginx.conf (see the $main_domain variable) * */ httpUnsafeOrigin: 'https://drive.renoux.dev',
/* httpSafeOrigin is the URL used for the 'sandbox' described above. * If you're testing or developing with CryptPad on your local machine then * it is appropriate to leave this blank. The default behaviour is to serve * the main domain over port 3000 and to serve the sandbox content over port 3001. * * This is not appropriate in a production environment where invasive networks * may filter traffic going over abnormal ports. * To correctly configure your production instance you must provide a URL * with a different domain (a subdomain is sufficient). * It will be used to load the UI in our 'sandbox' system. * * This value corresponds to the $sandbox_domain variable * in the example nginx file. * * Note that in order for the sandboxing system to be effective * httpSafeOrigin must be different from httpUnsafeOrigin. * * CUSTOMIZE AND UNCOMMENT THIS FOR PRODUCTION INSTALLATIONS. */ httpSafeOrigin: "https://drive.s.renoux.dev",
/* httpAddress specifies the address on which the nodejs server * should be accessible. By default it will listen on localhost * (IPv4 & IPv6 if enabled). If you want it to listen on * a specific address, specify it here. e.g '192.168.0.1' * */ httpAddress: '127.0.0.1',
/* httpPort specifies on which port the nodejs server should listen. * By default it will serve content over port 3000, which is suitable * for both local development and for use with the provided nginx example, * which will proxy websocket traffic to your node server. * */ httpPort: 4020,
/* httpSafePort purpose is to emulate another origin for the sandbox when * you don't have two domains at hand (i.e. when httpSafeOrigin not defined). * It is meant to be used only in case where you are working on a local * development instance. The default value is your httpPort + 1. * */ //httpSafePort: 3001,
/* Websockets need to be exposed on a separate port from the rest of * the platform's HTTP traffic. Port 3003 is used by default. * You can change this to a different port if it is in use by a * different service, but under most circumstances you can leave this * commented and it will work. * * In production environments, your reverse proxy (usually NGINX) * will need to forward websocket traffic (/cryptpad_websocket) * to this port. * */ websocketPort: 4021,
/* CryptPad will launch a child process for every core available * in order to perform CPU-intensive tasks in parallel. * Some host environments may have a very large number of cores available * or you may want to limit how much computing power CryptPad can take. * If so, set 'maxWorkers' to a positive integer. */ // maxWorkers: 4,
/* ===================== * Sessions * ===================== */
/* Accounts can be protected with an OTP (One Time Password) system * to add a second authentication layer. Such accounts use a session * with a given lifetime after which they are logged out and need * to be re-authenticated. You can configure the lifetime of these * sessions here. * * defaults to 7 days */ //otpSessionExpiration: 7*24, // hours
/* Registered users can be forced to protect their account * with a Multi-factor Authentication (MFA) tool like a TOTP * authenticator application. * * defaults to false */ //enforceMFA: false,
/* ===================== * Privacy * ===================== */
/* Depending on where your instance is hosted, you may be required to log IP * addresses of the users who make a change to a document. This setting allows you * to do so. You can configure the logging system below in this config file. * Setting this value to true will include a log for each websocket connection * including this connection's unique ID, the user public key and the IP. * NOTE: this option requires a log level of "info" or below. * * defaults to false */ //logIP: false,
/* ===================== * Admin * ===================== */
/* * CryptPad contains an administration panel. Its access is restricted to specific * users using the following list and the management interface on the instance. * To give access to the admin panel to a user account, just add their public signing * key, which can be found on the settings page for registered users. Access can be * revoked directly from the interface, unless you added the key below. * Entries should be strings separated by a comma. * adminKeys: [ * "[cryptpad-user1@my.awesome.website/YZgXQxKR0Rcb6r6CmxHPdAGLVludrAF2lEnkbx1vVOo=]", * "[cryptpad-user2@my.awesome.website/jA-9c5iNuG7SyxzGCjwJXVnk5NPfAOO8fQuQ0dC83RE=]", * ] * */ adminKeys: [
],
/* ===================== * 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-archived.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 the server * store particular documents 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: */ taskPath: './data/tasks',
/* if you would like users' authenticated blocks to be stored in a custom location, change the path below: */ blockPath: './block',
/* CryptPad allows logged in users to upload encrypted files. Files/blobs * are stored in a 'blob-store'. Set its location here. */ blobPath: './blob',
/* CryptPad stores incomplete blobs in a 'staging' area until they are * fully uploaded. Set its location here. */ blobStagingPath: './data/blobstage',
decreePath: './data/decrees',
/* 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 */ logPath: './data/logs',
/* ===================== * Debugging * ===================== */
/* CryptPad can log activity to stdout * This may be useful for debugging */ logToStdout: false,
/* CryptPad can be configured to log more or less * the various settings are listed below by order of importance * * silly, verbose, debug, feedback, info, warn, error * * Choose the least important level of logging you wish to see. * For example, a 'silly' logLevel will display everything, * while 'info' will display 'info', 'warn', and 'error' logs * * This will affect both logging to the console and the disk. */ logLevel: 'info',
/* 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 * used, and whether certain clientside features are supported by * the client's browser. The intent is to provide feedback to the admin * such that the service can be improved. Enable this with `true` * and ignore feedback with `false` or by commenting the attribute * * You will need to set your logLevel to include 'feedback'. Set this * to false if you'd like to exclude feedback from your logs. */ logFeedback: false,
/* CryptPad supports verbose logging * (false by default) */ verbose: false,
/* Surplus information: * * 'installMethod' is included in server telemetry to voluntarily * indicate how many instances are using unofficial installation methods * such as Docker. * */ installMethod: 'nuhuh',};