Mastodon RPM installer

I have created a Mastodon RPM installer. The source code for my RPM project on github called
“pbase-foundation” has packages that make it easy to install Mastodon, and other application stacks. It requires a Red Hat Enterprise Linux 8, or CentOS 8 server.

With just a few yum install commands you can install a Mastodon instance. For example:

echo "mastodon" > /root/DEFAULT_SUB_DOMAIN.txt
echo "" > /root/DEFAULT_EMAIL_ADDRESS.txt
echo "" > /root/DEFAULT_SMTP_SERVER.txt
echo "" > /root/DEFAULT_SMTP_USERNAME.txt
echo "ureplac3-w1threalsmtp-pswrd" > /root/DEFAULT_SMTP_PASSWORD.txt

yum -y install
yum -y install activpb-preconfig-postgres-mastodon
yum -y install pbase-postgres
yum -y install activpb-mastodon

How did you solve the problem of bundler updating dependency configuration on startup?

Hello Saper. My RPMs assume it’s doing a fresh install of the latest version. So I don’t solve the bundler updating problem, no. I tried using the built-in RHEL/CentOS Ruby version and libraries but it wouldn’t work with Mastodon. So I made one simple RPM that compiles the Ruby version needed from source. Then another simple RPM that installs the bundles. Then a final RPM that configure and launches the Mastodon instance. Here’s links to these RPM layers.
Ruby install from source RPM layer:

Bundle install RPM layer:

Mastodon config and launch RPM layer:

Thank you, I have read your specfiles and I think that bundle config deployment 'true'" solves the problem we were having:

We used to have FreeBSD port of mastodon but it was very difficult to keep it up to date and we’ve given up.

We could use system’s ruby though - but I guess this is because FreeBSD updates things faster than Redhat, but I am surprised that Application Stream in RedHat 8 is not new enough? Or was there a different problem?

I tried at first with the Ruby application stream for RedHat but the version is not the right one. Because the Mastodon code must be run with the Ruby version specified in the “mastodon/live/.ruby-version” file it worked to simply download and compile. It takes several minutes to build the dependencies in the RPM’s postinstall script but that’s the only way I found to make it work.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.