Cryptpad-server-upgrade: Difference between revisions

Initial
 
syntax
 
Line 1: Line 1:
Find the latest cryptpad releases : https://github.com/cryptpad/cryptpad/releases/
= Updating CryptPad =


At a minimum, you will run:
This guide provides step-by-step instructions to update CryptPad to the latest version, including fetching the latest release, ensuring dependencies are installed, and restarting the server.


<syntaxhighlight lang="shell">git fetch origin --tags</syntaxhighlight>
== Finding the Latest Release ==
Then you will select the latest tag:


<syntaxhighlight lang="shell">git checkout 2024.3.0</syntaxhighlight>
CryptPad releases can be found on their official GitHub page: [https://github.com/cryptpad/cryptpad/releases CryptPad Releases].
Then you will make sure that all javascript is installed:


<syntaxhighlight lang="shell">npm ci
Before proceeding, ensure you back up your CryptPad data directory to prevent data loss during the update process.
 
<pre>
tar -czf cryptpad_backup_$(date +"%Y-%m-%d").tar.gz /path/to/cryptpad/data
</pre>
 
Replace `/path/to/cryptpad/data` with the actual path to your CryptPad data directory.
 
== Steps to Update CryptPad ==
 
=== 1. Fetch Latest Tags ===
 
Ensure your local repository is updated with the latest tags:
 
<pre>
git fetch origin --tags
</pre>
 
This command synchronizes your local repository with the latest updates from the CryptPad GitHub repository.
 
=== 2. Check Out the Latest Release ===
 
Identify and check out the latest release tag. Replace `2024.3.0` with the tag corresponding to the latest release:
 
<pre>
git checkout 2024.3.0
</pre>
 
=== 3. Install JavaScript Dependencies ===
 
Ensure all necessary JavaScript components are installed:
 
<pre>
npm ci
npm install
npm install
npm run install:components</syntaxhighlight>
npm run install:components
Then restart the server and check status:
</pre>
 
* `npm ci`: Installs dependencies as specified in the `package-lock.json` file.
* `npm install`: Installs missing dependencies or updates existing ones.
* `npm run install:components`: Ensures all required components for CryptPad are installed and configured.
 
=== 4. Restart the CryptPad Server ===
 
Restart the CryptPad server to apply the updates:
 
<pre>
systemctl restart cryptpad
systemctl status cryptpad
</pre>
 
* Use `systemctl status cryptpad` to verify the server is running correctly.
 
== Additional Notes ==
 
=== Testing the Update ===
 
After the server restarts, navigate to your CryptPad instance in a web browser and ensure all functionalities are working correctly. Common areas to test include:
* Logging in and creating new pads.
* Sharing and collaborating on pads.
* Exporting and importing pads.
 
=== Troubleshooting ===
 
If you encounter issues after updating:
1. Check the server logs for errors:
  <pre>
  journalctl -u cryptpad
  </pre>
2. Verify file permissions and ownership in the CryptPad directory.
3. Ensure all dependencies are up-to-date by running:
  <pre>
  npm outdated
  </pre>
4. Roll back to your previous working version using the backup created earlier.
 
=== Automating Updates ===
 
To simplify future updates, consider creating a script:
 
<pre>
#!/bin/bash
# Update CryptPad script
 
# Variables
CRYPTPAD_DIR="/path/to/cryptpad"
LATEST_TAG=$(git -C $CRYPTPAD_DIR tag | sort -V | tail -n 1)
 
# Navigate to CryptPad directory
cd $CRYPTPAD_DIR
 
# Fetch and update
git fetch origin --tags
git checkout $LATEST_TAG
 
# Install dependencies
npm ci
npm install
npm run install:components
 
# Restart service
systemctl restart cryptpad
systemctl status cryptpad
</pre>
 
Replace `/path/to/cryptpad` with the path to your CryptPad installation.
 
== References ==
 
* [https://github.com/cryptpad/cryptpad/releases CryptPad Releases]
* [https://docs.npmjs.com/cli/v7/commands/npm-ci npm ci Documentation]
* [https://systemd.io SYSTEMD Documentation]


<syntaxhighlight lang="shell">systemctl restart cryptpad; systemctl status cryptpad</syntaxhighlight>
[[Category:CryptPad]]
[[Category:Guides]]
[[Category:Updates]]
[[Category:Self-Hosting]]