Some Observations About Installing Mastodon on Arch.
Nginx
From the Production Guide
you can copy the example nginx.conf file to /etc/nginx/sites-enabled/some_arbitrary.conf
,
and then add the following to /etc/nginx/nginx.conf
in the http section,
this with a fresh install of nginx with the default configuration file.
# /etc/nginx/nginx.conf
http {
include sites-enabled/*;
}
Installing the Dependancies
pacman -S certbot nginx libxml2 imagemagick ffmpeg git yarn npm python2 oidentd
# I'm guessing here
pacman -S libpqxx libxslt protobuf protobuf-c
- I'm assuming base-devel is installed
- python2 seems to be required to run
yarn install
command later on - oidentd seems to be a usable replacement for pident
- libpqxx pulls in postgresql-libs
- file is already installed
- curl is already installed
- ruby-build and rbenv are installable from aur
- also postgresql and redis unless, those are in another container or whatever.
Other Observations
I discovered that between gem install bundler
and
bundle install --deployment --without development test
,
you have to update your environment, with
eval "$(rbenv init -)"
, i.e.
echo 'eval "$(rbenv init -)"' >> .bashrc
# and then
. ~/.bashrc
You have to update your environment more than once, during the installation.
Presumably you don't ever want to delete the ~/live/Public/
directory
if that is where assets are being stored, but it seems ok to delete
~/live/node_modules
and then rerun the yarn install
command.
In ~/live/.env.production
, SINGLE_USER_MODE=false
has to be set
to false
until at least one user is created, or the web service won't
even start. (Also chmod 755 ~/
)
The Different Documentation for Updating
Updating Guide
I really think that when you update, you're going to want to read through the installation guide,
then compare it to the older version, then read through the upgrade guide. And finally, I think
you want to really comb through the Upgrade notes in the
Release Notes
Installation Guide
(bare metal)
You may also find this
Older Installation Guide
useful for reference.