Check out my first novel, midnight's simulacra!
Mastodon: Difference between revisions
From dankwiki
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
My running install uses the 3.2 branch of Mastodon atop Debian Unstable. | My running install uses the 3.2 branch of Mastodon atop Debian Unstable. | ||
First, determine your domain name. You'll likely be serving Mastodon as a virtual host in your main nginx/apache config, so give it its own, distinct FQDN. It is not trivial to change your server's name later (it will, at a minimum, break existing federations), so choose wisely. | |||
==System work== | ==System work== | ||
Line 25: | Line 27: | ||
** So far as I can tell, use a blank password for PostgresQDL and Redis. | ** So far as I can tell, use a blank password for PostgresQDL and Redis. | ||
** I do (n)ot upload files to the "cloud", whatever that even means | ** I do (n)ot upload files to the "cloud", whatever that even means | ||
==Webserver work== |
Revision as of 01:59, 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.
First, determine your domain name. You'll likely be serving Mastodon as a virtual host in your main nginx/apache config, so give it its own, distinct FQDN. It is not trivial to change your server's name later (it will, at a minimum, break existing federations), so choose wisely.
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 yarnpkg ("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.
- So far as I can tell, you must now symlink /usr/bin/yarnpkg to yarn in some PATH directory:
- ln -s /usr/bin/yarnpkg /usr/local/bin/yarn
- 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 for PostgresQDL and Redis.
- I do (n)ot upload files to the "cloud", whatever that even means