diff --git a/Running-Mastodon/Administration-guide.md b/Running-Mastodon/Administration-guide.md index dd69eb30..09b0f1df 100644 --- a/Running-Mastodon/Administration-guide.md +++ b/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. diff --git a/Running-Mastodon/Heroku-guide.md b/Running-Mastodon/Heroku-guide.md index 0de26230..269bc633 100644 --- a/Running-Mastodon/Heroku-guide.md +++ b/Running-Mastodon/Heroku-guide.md @@ -3,13 +3,50 @@ 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. + +To make yourself an admin, you may need to use the `heroku` CLI application after creating an account online: + + `heroku rake mastodon:make_admin USERNAME=yourUsername` diff --git a/Running-Mastodon/Production-guide.md b/Running-Mastodon/Production-guide.md index 90e9c0de..af21af54 100644 --- a/Running-Mastodon/Production-guide.md +++ b/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; @@ -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 diff --git a/Using-Mastodon/Apps.md b/Using-Mastodon/Apps.md index 67b14dc2..b5e1fa36 100644 --- a/Using-Mastodon/Apps.md +++ b/Using-Mastodon/Apps.md @@ -13,5 +13,6 @@ Some people have started working on apps for the Mastodon API. Here is a list of |Albatross|iOS||[@goldie_ice@mastodon.social](https://mastodon.social/users/goldie_ice)| |Tooter|Chrome||[@effy@mastodon.social](https://mastodon.social/users/effy)| |tootstream|CLI||[@Raccoon@mastodon.social](https://mastodon.social/users/Raccoon)| +|HackerNewsBot|CLI||[@rayalez@hackertribe.io](https://hackertribe.io/users/rayalez)| If you have a project like this, let me know so I can add it to the list! diff --git a/Using-Mastodon/List-of-Mastodon-instances.md b/Using-Mastodon/List-of-Mastodon-instances.md index 5ffeecc1..4406247d 100644 --- a/Using-Mastodon/List-of-Mastodon-instances.md +++ b/Using-Mastodon/List-of-Mastodon-instances.md @@ -47,7 +47,15 @@ There is also a list at [instances.mastodon.xyz](https://instances.mastodon.xyz) | [status.dissidence.ovh](https://status.dissidence.ovh)|N/A|Yes|Yes| | [mastodon.cc](https://mastodon.cc)|Art|Yes|No| | [mastodon.technology](https://mastodon.technology)|Open registrations, federates everywhere, for tech folks|Yes|No| -| [mastodon.systemlab.fr](https://mastodon.systemlab.fr/)|Le mastodon Français, informatique, jeux-vidéos, gaming et hébergement.|Yes|No| +| [mastodon.systemlab.fr](https://mastodon.systemlab.fr/)|Le mastodon Français, informatique, jeux-vidéos, gaming et hébergement.|Yes| +| [mastodon.top](https://mastodon.top) |N/A|Yes|Yes| +| [niu.moe](https://niu.moe/)|:dolls: The most cutest node ever, FR/EN, anime and computer :balloon:|Yes|Yes| +| [im-in.space](https://im-in.space/)|SPAAAAACE! Probably with a lot of French people. (Invite-only, might randomly open registrations)|No|Yes| +| [social.bytestemplar.com](https://social.bytestemplar.com)|N/A|Yes|No| +| [digitalhumanities.club](http://www.digitalhumanities.club)|[Digital humanities](http://whatisdigitalhumanities.com) community; invitations will open once code of conduct drafted.|No|No +| [design.vu](https://design.vu)|— what's your design view‽|Yes|No| +| [masto.raildecake.fr](https://masto.raildecake.fr)|Hebergé chez un FAI associatif dans le sud de la france, grillons & pins en options|Yes|No| | [good-dragon.com](https://good-dragon.com/)|Quick updates, Relaxed Moderation, Federates Everywhere, Furries|Yes|No| + Let me know if you start running one so I can add it to the list! (Alternatively, add it yourself as a pull request).