Check out my first novel, midnight's simulacra!

Mastodon: Difference between revisions

From dankwiki
No edit summary
Line 5: Line 5:
==System work==
==System work==
* Via [[APT]], install <tt>nodejs</tt>, <tt>redis-server</tt>, <tt>ruby-redis</tt>, <tt>rake</tt>, <tt>rbenv</tt>, <tt>ruby-bundler</tt>, <tt>postgresql-contrib</tt>, <tt>libpq-dev</tt>, <tt>libprotobuf-dev</tt>, <tt>protobuf-compiler</tt>, <tt>libidn11-dev</tt>, and <tt>cmdtest</tt> ("yarn").
* Via [[APT]], install <tt>nodejs</tt>, <tt>redis-server</tt>, <tt>ruby-redis</tt>, <tt>rake</tt>, <tt>rbenv</tt>, <tt>ruby-bundler</tt>, <tt>postgresql-contrib</tt>, <tt>libpq-dev</tt>, <tt>libprotobuf-dev</tt>, <tt>protobuf-compiler</tt>, <tt>libidn11-dev</tt>, and <tt>cmdtest</tt> ("yarn").
** You will now have a PostgreSQL instance running, if you didn't before.
** You will now have a PostgreSQL instance running on localhost:tcp/5432, if you didn't before.
** It will be listening to tcp/5432 on localhost only.
** You will now have a Redis instance running on localhost:tcp/6379, if you didn't before.
* Prep the database:
* Prep the database:
** <tt>echo "CREATE USER mastodon CREATEDB;" | sudo -u postgres psql</tt>
** <tt>echo "CREATE USER mastodon CREATEDB;" | sudo -u postgres psql</tt>

Revision as of 01:32, 10 January 2021

Setting up a Masotdon server on Debian is somewhat annoying, due to the node and (to a lesser extent) ruby-based implementation. Most guides involve downloading and installing a large number of sources outside of APT. I hoped to avoid that.

My running install uses the 3.2 branch of Mastodon atop Debian Unstable.

System work

  • Via APT, install nodejs, redis-server, ruby-redis, rake, rbenv, ruby-bundler, postgresql-contrib, libpq-dev, libprotobuf-dev, protobuf-compiler, libidn11-dev, and cmdtest ("yarn").
    • You will now have a PostgreSQL instance running on localhost:tcp/5432, if you didn't before.
    • You will now have a Redis instance running on localhost:tcp/6379, if you didn't before.
  • Prep the database:
    • echo "CREATE USER mastodon CREATEDB;" | sudo -u postgres psql
  • Create mastodon user (salt to taste):
    • sudo adduser --disabled-login --gecos "Mastodon service account" mastodon

User work

Remaining work will be done as the mastodon user, in its home directory.

  • git clone https://github.com/tootsuite/mastodon.git ~/live
  • cd live
  • bundle config set --local deployment true
  • bundle config set --local without development:test
  • bundle install
  • RAILS_ENV=production bundle exec rake mastodon:setup
    • Use the same PostgreSQL user name you created earlier.
    • So far as I can tell, use a blank password.