Cryptpad-server-upgrade: Difference between revisions
Initial |
syntax |
||
Line 1: | Line 1: | ||
= Updating CryptPad = | |||
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. | |||
== Finding the Latest Release == | |||
CryptPad releases can be found on their official GitHub page: [https://github.com/cryptpad/cryptpad/releases CryptPad Releases]. | |||
< | 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</ | npm run install:components | ||
</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] | |||
[[Category:CryptPad]] | |||
[[Category:Guides]] | |||
[[Category:Updates]] | |||
[[Category:Self-Hosting]] |