From 0f4fa59812c11cbc77f13d7d07ceb3db7452c828 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 7 Apr 2017 11:34:10 -0400 Subject: Update heroku instructions --- docs/Running-Mastodon/Heroku-guide.md | 55 ++++++++++++++++++++++++++++++----- 1 file changed, 47 insertions(+), 8 deletions(-) (limited to 'docs/Running-Mastodon') diff --git a/docs/Running-Mastodon/Heroku-guide.md b/docs/Running-Mastodon/Heroku-guide.md index 0de26230c..754f923ed 100644 --- a/docs/Running-Mastodon/Heroku-guide.md +++ b/docs/Running-Mastodon/Heroku-guide.md @@ -3,13 +3,52 @@ Heroku guide [![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://dashboard.heroku.com/new?button-url=https://github.com/tootsuite/mastodon&template=https://github.com/tootsuite/mastodon) -Mastodon can theoretically run indefinitely on a free [Heroku](https://heroku.com) app. It should be noted this has limited testing and could have unpredictable results. +Mastodon can be run on a free [Heroku](https://heroku.com) app. It should be +noted this has limited testing and could have unpredictable results. -1. Click the above button. -2. Fill in the options requested. - * You can use a .herokuapp.com domain, which will be simple to set up, or you can use a custom domain. If you want a custom domain and HTTPS, you will need to upgrade to a paid plan (to use Heroku's SSL features), or set up [CloudFlare](https://cloudflare.com) who offer free "Flexible SSL" (note: CloudFlare have some undefined limits on WebSockets. So far, no one has reported hitting concurrent connection limits). - * You will want Amazon S3 for file storage. The only exception is for development purposes, where you may not care if files are not saved. Follow a guide online for creating a free Amazon S3 bucket and Access Key, then enter the details. - * If you want your Mastodon to be able to send emails, configure SMTP settings here (or later). Consider using [Mailgun](https://mailgun.com) or similar, who offer free plans that should suit your interests. -3. Deploy! The app should be set up, with a working web interface and database. You can change settings and manage versions from the Heroku dashboard. +## Basic setup -You may need to use the `heroku` CLI application to run `USERNAME=yourUsername rails mastodon:make_admin` to make yourself an admin. +Click the button above to start creating a Heroku app with the Mastodon repo as +the source. This tells Heroku to use the `app.json` file which does things like +prompt for config variables, set up the right buildpacks, run a postdeploy task, +and add the appropriate addons. + +If you don't use the deploy button and app.json approach, you will need to do +some of that manually. + +## Domain names and SSL + +You can add your domain name to the Heroku app's setting, and then also use +Heroku's (free) auto renewal program for Lets Encrypt certificates, by +requesting a cert from the settings screen. You'll have to point your hostname +DNS at Heroku using the values heroku gives you on this screen, using whatever +method is appropriate for your DNS setup. + +You should set the Heroku config vars of `LOCAL_DOMAIN` to your hostname, and +`LOCAL_HTTPS` to "true" as well. + +## Email + +Consider using [Mailgun](https://mailgun.com) or similar, who offer free plans +that should suit your interests. Look in `production.rb` to see which config +variables need to be set on Heroku for outgoing email to work. + +## File storage + +You will want Amazon S3 for file storage. The only exception is for development +purposes, where you may not care if files are not saved. Follow a guide online +for creating a free Amazon S3 bucket and Access Key, then enter the details. + +## Deployment + +You can deploy from the Heroku web interface or from the command line. Run: + + `heroku run rails db:migrate` + +after you first deploy to set up the first database. + +You may need to use the `heroku` CLI application to run: + + `USERNAME=yourUsername rails mastodon:make_admin` + +to make yourself an admin. -- cgit From 27012aaeb6af9c41adc19443cbd17153e3b2d565 Mon Sep 17 00:00:00 2001 From: Ed Knutson Date: Fri, 7 Apr 2017 14:10:39 -0500 Subject: change suggested cipher for nginx --- docs/Running-Mastodon/Production-guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/Running-Mastodon') diff --git a/docs/Running-Mastodon/Production-guide.md b/docs/Running-Mastodon/Production-guide.md index 90e9c0dea..1dba56131 100644 --- a/docs/Running-Mastodon/Production-guide.md +++ b/docs/Running-Mastodon/Production-guide.md @@ -24,7 +24,7 @@ server { ssl_protocols TLSv1.2; ssl_ciphers EECDH+AESGCM:EECDH+AES; - ssl_ecdh_curve secp384r1; + ssl_ecdh_curve prime256v1; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; -- cgit From 131f505fd0dc11297ba0ad4d9744e5ea2b3d73e1 Mon Sep 17 00:00:00 2001 From: seekr Date: Fri, 7 Apr 2017 16:33:13 -0300 Subject: typo --- docs/Running-Mastodon/Production-guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/Running-Mastodon') diff --git a/docs/Running-Mastodon/Production-guide.md b/docs/Running-Mastodon/Production-guide.md index 90e9c0dea..1a65771ce 100644 --- a/docs/Running-Mastodon/Production-guide.md +++ b/docs/Running-Mastodon/Production-guide.md @@ -90,7 +90,7 @@ It is recommended to create a special user for mastodon on the server (you could sudo apt-get install imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev nodejs file git curl curl -sL https://deb.nodesource.com/setup_4.x | sudo bash - - apt-get intall nodejs + apt-get install nodejs sudo npm install -g yarn ## Redis -- cgit From a7ab2204d48162605cb351ee60183ef3f3d844a6 Mon Sep 17 00:00:00 2001 From: David Huerta Date: Fri, 7 Apr 2017 17:44:32 -0400 Subject: Update Heroku-guide.md Cleaning up the heroku admin command bit to match the form used in Administration-guide.md and clarify the wording a bit. --- docs/Running-Mastodon/Heroku-guide.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'docs/Running-Mastodon') diff --git a/docs/Running-Mastodon/Heroku-guide.md b/docs/Running-Mastodon/Heroku-guide.md index 754f923ed..269bc6331 100644 --- a/docs/Running-Mastodon/Heroku-guide.md +++ b/docs/Running-Mastodon/Heroku-guide.md @@ -47,8 +47,6 @@ You can deploy from the Heroku web interface or from the command line. Run: after you first deploy to set up the first database. -You may need to use the `heroku` CLI application to run: +To make yourself an admin, you may need to use the `heroku` CLI application after creating an account online: - `USERNAME=yourUsername rails mastodon:make_admin` - -to make yourself an admin. + `heroku rake mastodon:make_admin USERNAME=yourUsername` -- cgit From f578cf8331dbc9254ba6733db6cea590a8014642 Mon Sep 17 00:00:00 2001 From: benklop Date: Fri, 7 Apr 2017 16:31:50 -0600 Subject: Update Administration-guide.md the syntax for running the rake task wasn't correct. --- docs/Running-Mastodon/Administration-guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/Running-Mastodon') diff --git a/docs/Running-Mastodon/Administration-guide.md b/docs/Running-Mastodon/Administration-guide.md index dd69eb303..09b0f1df1 100644 --- a/docs/Running-Mastodon/Administration-guide.md +++ b/docs/Running-Mastodon/Administration-guide.md @@ -7,7 +7,7 @@ So, you have a working Mastodon instance... now what? The following rake task: - rake mastodon:make_admin USERNAME=alice + RAILS_ENV=production bundle exec rails mastodon:make_admin USERNAME=alice Would turn the local user "alice" into an admin. -- cgit