Files
2021-10-30 12:00:58 +02:00

85 lines
2.4 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
#
# ABOUT THIS SCRIPT
# -----------------
# Last updated: 2021-10-26
# Last tested: Monica v3.3.1
#
# USE AT YOUR OWN RISK! Make sure you have a good, working backup of
# your database and other files before using this script.
#
# WHAT THIS SCRIPT DOES
# ---------------------
# This script has been written to run the various steps required to
# upgrade Monica to the specified version. You can check which is the
# current version here: https://github.com/monicahq/monica/releases
#
# HOW TO USE THIS SCRIPT
# ----------------------
# To run this command, you run the shell script and specify the version
# you want to update to, like so:
#
# $ ./debian.sh 3.3.1
#
# Replacing "3.3.1" with the version you want. The script will then run
# through the required steps to update you to 3.3.1.
# THE SCRIPT ITSELF
# -----------------
# 1. Open Monica's directory
cd /var/www/monica ; \
# 2. Checkout the current version
git fetch ; \
git checkout tags/v$1
# 3. Delete Composer packages
rm -rf vendor ; \
# Note: This step might *not* be strictly necessary, but it avoids fatal
# errors when attempting to update Monica on a Debian system.
# More information: https://github.com/monicahq/monica/issues/5308
# 4. Now (re)install all required Composer packages
composer install --no-dev ; \
# 5. Delete all the node modules installed by yarn
rm -rf node_modules
# Note: This step might *not* be strictly necessary, but it avoids yarn
# throwing 126 exit errors that I can't otherwise fix.
# 6. Now (re)install required yarn packages
yarn install ; \
# 7. Generate assets (CSS, JS, others) using yarn
yarn run production ; \
# 8. Update Monica itself. Per the README, this "runs migration scripts
# for the database, and flushes all caches for config, route, and
# view as an optimization process. Its easier than running every
# required command individually".
php artisan monica:update --force ; \
# 9. And finally, set correct ownership and permissions for Monica.
# This is another step that may not be necessary, but it should avoid
# any "permission denied" or HTTP 500 errors being created.
chown -R www-data:www-data /var/www/monica ; \
find /var/www/monica -type f -exec chmod 664 {} \;
find /var/www/monica -type d -exec chmod 775 {} \;
# And that's it!