Merge pull request #1172 from mjankowski/mj-heroku-docs
Update heroku instructions
This commit is contained in:
commit
e2f024147c
|
@ -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)
|
[![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.
|
## Basic setup
|
||||||
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.
|
|
||||||
|
|
||||||
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.
|
||||||
|
|
Reference in New Issue