# 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 ~/`)

« Previous Next »