04efe7f909
- better limitation docs - add instructions for adding custom domains - add upgrading instructions
2.3 KiB
2.3 KiB
Scalingo guide
Initial deployment
- Click the above button.
- Fill in the options requested.
- You can use a .scalingo.io domain, which will be simple to set up, or you can use a custom domain.
- 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 or similar, who offer free plans that should suit your interests.
- Deploy! The app should be set up, with a working web interface and database. You can change settings and manage versions from the Scalingo dashboard.
- Register for an account on your instance, then use the
scalingo
CLI to make yourself admin:scalingo -a yourapp run -e USERNAME=yourusername rails mastodon:make_admin
. - Configure site-specific settings as appropriate in Settings > Administration.
- Everything is done.
Using a custom domain
Note: an SSL/TLS certificate will automatically be provisioned by Scalingo using Lets Encrypt.
- Set a
CNAME
to thescalingo.io
subdomain you created for your app. - Use the
scalingo
CLI to set up the virtual host:scalingo -a yourapp domains-add example.com
Upgrading to newer versions of Mastodon
- Install an SSH key in your Scalingo account:
scalingo -a yourapp keys-add keynamehere /path/to/key
- Check out the git repository Scalingo made for you. For some reason, this will be empty by default.
- Create a vendor branch in your git repository:
git checkout -b vendor
- Import the Mastodon sources of your choice, for example 1.3-stable:
git pull http://github.com/tootsuite/mastodon 1.3-stable
- Merge the vendor branch to master:
git checkout master && git merge vendor
- Push to Scalingo:
git push
.Note: Once the new application is deployed, it will be in an inconsistent state.
- Run rails database migrations:
scalingo -a yourapp run -e RAILS_ENV=production rails db:migrate
- Restart all containers:
scalingo -a yourapp restart
- Everything is done.