-
Notifications
You must be signed in to change notification settings - Fork 57
Initial migration
Hello! This is a guide to help you migrate from Mastodon to Hometown. This guide shows you how to migrate from Mastodon 2.9.3 to Hometown v1.0.1+2.9.3. Right now we are up to date with Mastodon 2.9.3, so make sure you are running Mastodon 2.9.3 before trying this. And please test in a local development environment or a test server first if at all possible.
RIGHT NOW THIS IS NOT FOR BEGINNERS. You should be comfortable maintaining Mastodon and updating from one version of Mastodon to another. If you are an instance admin who has upgraded your instance from, say, 2.5 up to 2.9.3 over time, you should be familiar with every step of this process.
Assuming you are running Mastodon 2.9.3 (aka you have the v2.9.3
tag checked out in git and a git log
shows your most recent commit is 06f906acace5770fc10f333a203b036c5b72c849
), the following should work.
First, triple-check you're on the v2.9.3 tag:
git describe --tags
The output should be:
v2.9.3
add the Hometown Github repo as a remote called hometown
and make a branch off of v2.9.3
for your new modified installation. Then, switch to that new branch, which right now is identical to 2.9.3.
git remote add hometown [email protected]:hometown-fork/mastodon.git
git branch hometown-v1.0.1+2.9.3
git checkout hometown-v1.0.1+2.9.3
The next thing we do is fetch and merge the v1.0.1+2.9.3
tag from the Hometown Github repo and merge it into our current branch.
git fetch --tags
git merge v1.0.1+2.9.3
Now we need to run a database migration (replace "production" with your appropriate environment variable):
RAILS_ENV=production bundle exec rails db:migrate
This adds a new field to the statuses table in the database called activity_pub_type
, which keeps track of whether a given status in the database is an Article
or a standard Note
.
Next precompile your static assets:
RAILS_ENV=production bundle exec rails assets:precompile
And restart your Mastodon services. That should be everything! You can tell if it's working (aside from lack of error messages) if you see a message in the "getting started" footer linking to the Hometown source code.
Please consider supporting Hometown by pledging to my Patreon, which supports all my open source projects including this one!
Of course this project couldn't exist without Mastodon so maybe support the Mastodon project Patreon too.