1
mirror of https://github.com/jakejarvis/mastodon-utils.git synced 2025-04-26 06:45:22 -04:00
mastodon-utils/scripts/apply_patches.sh

44 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# exit when any step fails
set -euo pipefail
# default paths
MASTODON_ROOT=/home/mastodon
APP_ROOT="$MASTODON_ROOT/live"
SCRIPTS_ROOT="$MASTODON_ROOT/scripts"
RBENV_ROOT="$MASTODON_ROOT/.rbenv"
# clone this repo if it doesn't exist in the proper location
if [ ! -d "$SCRIPTS_ROOT" ]
then
sudo -u mastodon git clone https://github.com/jakejarvis/mastodon-scripts.git "$SCRIPTS_ROOT"
# fix permissions
sudo chown -R mastodon:mastodon "$SCRIPTS_ROOT"
sudo git config --global --add safe.directory "$SCRIPTS_ROOT"
fi
# apply custom patches
cd "$APP_ROOT"
sudo -u mastodon git apply --reject --allow-binary-replacement "$SCRIPTS_ROOT"/patches/*.patch
if [ -d "$APP_ROOT/app/javascript/flavours/glitch" ];
then
# apply additional glitch-only patches:
sudo -u mastodon git apply --reject --allow-binary-replacement "$SCRIPTS_ROOT"/patches/glitch/*.patch
fi
# update dependencies
echo "Updating deps..."
sudo -u mastodon "$RBENV_ROOT/shims/bundle" install --jobs "$(getconf _NPROCESSORS_ONLN)"
sudo -u mastodon yarn install --pure-lockfile --network-timeout 100000
# compile new assets
echo "Compiling new assets..."
sudo -u mastodon RAILS_ENV=production "$RBENV_ROOT/shims/bundle" exec rails assets:precompile
sudo chown -R mastodon:mastodon "$APP_ROOT"
# restart frontend
echo "Restarting mastodon-web..."
sudo systemctl restart mastodon-web