# 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.

« Previous Next »