Installing CryptPad on Your Own Server

Installing CryptPad

Method 1: From-Source Installation

  • Git
  • NodeJs (Additionally, NVM is optionally, but nonetheless recommended for Node versions management.)
  • Npm
  • Bower (We can install this with the npm install -g bower command in Npm.)
  • Run it as a daemon, so that CryptPad stays on and automatically runs again once the server is restarted. You can use foreverjs and systemd to accomplish this. You can reference this guide.
  • I recommend that you also run it behind a reverse proxy. In fact, in production environments, it is a best practice to run it behind a reverse proxy to handle requests if you’re using Ngnix, Apache, HAProxy, or Trafik. The Configurations are shown on this page.
  • Configure CSP (Content Security Policy) headers: https://github.com/xwiki-labs/cryptpad/wiki/CSP-headers
  • Setting up HTTPS
  • git pull: Use to get the most updated version of the source code
  • npm update: Used to update the npm dependencies, which are saved into node_modules
  • bower update: Used to update the bower dependencies, saved into bower_components

Method 2: Installing Docker

  • Configuration using an .env file
  • Capable with recent versions of GitHub master
  • Ability to create custom folders
  • Adding config.js to customize folder
  • Persistence for data-store and customize folder
  • docker build -t xwiki/cryptpad
  • docker run --restart=always -d --name cryptpad -p 3000:3000 -p 3001:3001 \ -v /var/cryptpad/files:/cryptpad/datastore \ -v /var/cryptpad/customize:/cryptpad/customize -v /var/cryptpad/blob:/cryptpad/blob \ -v /var/cryptpad/blobstage:/cryptpad/blobstage \ -v /var/cryptpad/pins:/cryptpad/pins \ -v /var/cryptpad/tasks:/cryptpad/tasks \ -v /var/cryptpad/block:/cryptpad/block \ xwiki/cryptpad

Method 3: Installing Ansible

## Role variables
cryptpad_required_packages:
- nodejs
- git
cryptpad_repository: "https://github.com/xwiki-labs/cryptpad.git"
cryptpad_repository_key_file: ""
cryptpad_repository_version: "master"
cryptpad_user: "cryptpad"
cryptpad_group: "{{ cryptpad_user }}"
cryptpad_home: "/home/cryptpad"
cryptpad_path: "{{ cryptpad_home }}/cryptpad"
cryptpad_update: False
# enable monit service monitoring
cryptpad_monit_enabled: False
## template/config.js variables
cryptpad_http_address: "::"
cryptpad_http_headers_enabled: "True"
cryptpad_content_security_enabled: "True"
cryptpad_pad_content_security_enabled: "True"
cryptpad_http_port: 3000
cryptpad_http_safe_port: 3001
cryptpad_websocket_path: "/cryptpad_websocket"
cryptpad_log_to_stdout: "false"
cryptpad_verbose: "false"
cryptpad_main_pages:
- index
- privacy
- terms
- about
- contact
- what-is-cryptpad
cryptpad_remove_donate_button: "false"
cryptpad_allow_subscriptions: "false"
cryptpad_domain: "i.did.not.read.my.config.myserver.tld"
cryptpad_default_storage_limit: "50 * 1024 * 1024"
cryptpad_admin_email: "i.did.not.read.my.config@cryptpad.fr"
cryptpad_storage: "./storage/file"
cryptpad_file_path: "./datastore/"
cryptpad_pin_path: "./pins"
cryptpad_blob_path: "./blob"
cryptpad_blob_staging_path: "./blobstage"
cryptpad_channel_expiration_ms: 30000
cryptpad_open_file_limit: 2048
cryptpad_rpc: "./rpc.js"
cryptpad_suppress_rpc_errors: "false"
cryptpad_enable_uploads: "true"
cryptpad_max_upload_size: "20 * 1024 * 1024"
ansible-galaxy install systemli.cryptpad
- hosts: servers
roles:
- { role: systemli.cryptpad }

CryptPad’s Feature Set

  • You will have access and use the main modules of CryptPad, which include: CryptDrive, Rich text, Code, Presentation, Poll, Kanban, Whiteboard, and Todo and Sheet.
  • You will have access to several capabilities including chatting, editing documents and files, importing and exporting documents and files, viewing the history or user lists for documents, files, and chats. Some additional capabilities are listed below:
  • You can view and download documents and files shared by other users.
  • You can store visited pads on the browser so that you have easy access to these pads and can open them there at a later time.
  • You can create a profile and chat with contacts.
  • You can manage folders, shared folders, templates and tags
  • You’ll have access your CryptDrive everywhere with your user account, particularly in the case that it is publicly available over the internet
  • You can store pads on your CryptDrive

Rich Text

Code

Kanban

Sheet

Whiteboard

TODO

Drive

Conclusion

Original Source

--

--

--

Follow me to keep abreast with the latest technology news, industry insights, and developer trends. Alibaba Cloud website:https://www.alibabacloud.com

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

4 Reasons Why Everyone’s College Major is Now Computer Science

Google cancels our Google Play publisher account and ends my family’s source of income

deleted google play account

How to Make Better Use of SVG in Flutter Applications?

This article is a What is HTML.

Asahi, a Linux distro being developed specifically for M1 Devices!

Representation of a Mac Book device.

What is Java Parallel Streams?

Technology and Context

How to Create Your Own Chat System with Rocket Chat on ECS

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Alibaba Cloud

Alibaba Cloud

Follow me to keep abreast with the latest technology news, industry insights, and developer trends. Alibaba Cloud website:https://www.alibabacloud.com

More from Medium

Elasticsearch for Multi-Tenant Architecture

Using Workload Identity to access Google Cloud Pub/Sub from Google Kubernetes Engine

KUBERNETES DEPLOYMENT

ElastAlert 2 for OpenShift 4.9