forked from cybrespace/mastodon
		
	Merge pull request #1172 from mjankowski/mj-heroku-docs
Update heroku instructions
This commit is contained in:
		
						commit
						e2f024147c
					
				
					 1 changed files with 47 additions and 8 deletions
				
			
		| 
						 | 
				
			
			@ -3,13 +3,52 @@ Heroku guide
 | 
			
		|||
 | 
			
		||||
[](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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue