Right so I'll scream into the void the issues while updating mastodon from 4.4.0-alpha ot 4.6.0-alpha (both are chuckya fork)
I had an old version of yarn and when I ran apt update I got an error regarding a pgp file or something
I commented out the single line in /etc/apt/sources.list/yarn.list or something and then I stopped getting errors when running apt update.
Newer mastodon needs redis 7 I only had redis 6. Ubuntu 24.04 has redis 7 so I just updated to that.
You also need node 20.x or higher
I run
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
This will update the source node pulls from
after running git fetch/pull chuckya main
I needed specifically ruby 3.8.0 not the newist 4.0.1 so reinstall the rbenv is typically what I do
ran bundle install && yarn install
I get this error
LoadError: Could not open library 'vips.so.42': vips.so.42: cannot open shared object file: No such file or directory. (LoadError)
this one I vaugely remember running into this while on my phone. There is literally no documentation or issue reports for this error, but it's basically yarn/ruby/bundle/or whatever dude I don't care what it is, is expecting vips to be installed on the system as a basis for the ruby gems.
I tried apt install libvips|libvips42 both don't work on ubuntu 24.04
The correct package is libvips42t64 (literally wtf) but that won't work either
I needed to run the following to add the package
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu noble universe"
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu noble-updates universe"
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu noble-security universe"
sudo apt update
sudo apt install libvips42t64
That finally worked and progressed me further than I had been when I tried updating via my phone.
when I ran a bundle rails exec rails assets:precompile
I got a bunch of errors regarding the styles/tangerineui* javascript. So I just deleted them (I'll fix it later)
While running RAILS_ENV=production bundle exec rails db:migrate
I got stop errors regarding
PG::DuplicateColumn: ERROR: column "parent_status_id" of relation "conversations" already exists (PG::DuplicateColumn)
Which is some database shit that just says something already exists but is trying to create it again.
I went into psql like so
sudo -u postgres psql mastodon_production
INSERT INTO schema_migrations (version) VALUES ('lmao') ON CONFLICT DO NOTHING;
\q
RAILS_ENV=production bundle exec rails db:migrate:up VERSION=lmao
And then the rest of the upgrade went fine. I probably left out something but it's not like anyone is reading this anyway