Mastodon: Difference between revisions
imported>Onny mNo edit summary |
Phanirithvij (talk | contribs) m (Breaking caddy out of the sandbox does not appear to be necessary) - copied from old wiki |
||
(15 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
Mastodon is a decentralized social media platform that allows users to create accounts, post content, and interact with others. It is an alternative to centralized social media platforms like Twitter and Facebook. | [https://joinmastodon.org Mastodon] is a decentralized social media platform that allows users to create accounts, post content, and interact with others. It is an alternative to centralized social media platforms like Twitter and Facebook. | ||
== Setup == | == Setup == | ||
The <code>services.mastodon</code> service can be used to setup a Mastodon instance in [https://docs.joinmastodon.org/admin/config/#single_user_mode single user mode]. | The <code>services.mastodon</code> service can be used to setup a Mastodon instance in [https://docs.joinmastodon.org/admin/config/#single_user_mode single user mode]. It will setup all the necessary services (PostgreSQL, Redis, Nginx...) and setup a valid certificate to be used for the HTTPS connection: | ||
<syntaxhighlight lang="nix"> | |||
< | |||
security.acme = { | security.acme = { | ||
acceptTerms = true; | acceptTerms = true; | ||
Line 17: | Line 15: | ||
configureNginx = true; | configureNginx = true; | ||
smtp.fromAddress = "noreply@social.example.com"; # Email address used by Mastodon to send emails, replace with your own | smtp.fromAddress = "noreply@social.example.com"; # Email address used by Mastodon to send emails, replace with your own | ||
streamingProcesses = 3; # Number of processes used. It is recommended to set to the number of CPU cores minus one | |||
extraConfig.SINGLE_USER_MODE = "true"; | extraConfig.SINGLE_USER_MODE = "true"; | ||
}; | }; | ||
networking.firewall.allowedTCPPorts = [ 80 443 ]; | networking.firewall.allowedTCPPorts = [ 80 443 ]; | ||
</ | </syntaxhighlight> | ||
You can then create your account using the package <code>mastodon</code>: | |||
Ignore any warnings about the ruby version, it should work anyways | |||
<syntaxhighlight lang="console"> | |||
# sudo -u mastodon mastodon-tootctl accounts create USERNAME --email=YOUR_EMAIL --confirmed --role=Owner | |||
</syntaxhighlight> | |||
and approve your new account | |||
<syntaxhighlight lang="console"> | |||
# sudo -u mastodon mastodon-tootctl accounts approve USERNAME | |||
</syntaxhighlight> | |||
Then you're ready to head to the domain you set up and start tooting away! | |||
== Usage == | |||
Create user | |||
<syntaxhighlight lang="console"> | |||
# sudo -u mastodon mastodon-tootctl accounts create my_user --email myuser@example.org | |||
</syntaxhighlight> | |||
Confirm user mail manually | |||
<syntaxhighlight lang="console"> | |||
# sudo -u mastodon mastodon-tootctl accounts modify my_user --email myuser@example.org --confirm | |||
</syntaxhighlight> | |||
Change password for user <code>my_user</code> | |||
<syntaxhighlight lang="console"> | <syntaxhighlight lang="console"> | ||
# mastodon-tootctl accounts | # sudo -u mastodon mastodon-tootctl accounts modify --reset-password my_user | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Tips and tricks == | == Tips and tricks == | ||
=== Enabling full text search === | |||
Using OpenSearch as alternative to ElasticSearch after the license change. First set the following options and rebuild the config:<syntaxhighlight lang="nix"> | |||
services.opensearch.enable = true; | |||
services.mastodon.elasticsearch.host = "127.0.0.1"; | |||
</syntaxhighlight>Then on the server run the following command to fill the search index:<syntaxhighlight lang="console"> | |||
$ sudo -u mastodon mastodon-tootctl search deploy | |||
</syntaxhighlight> | |||
=== Using Caddy as a server === | === Using Caddy as a server === | ||
Line 106: | Line 141: | ||
This is also documented in the Mastodon admin guide[https://docs.joinmastodon.org/admin/config/]. | This is also documented in the Mastodon admin guide[https://docs.joinmastodon.org/admin/config/]. | ||
[[Category:ActivityPub]] | |||
[[Category:Applications]] | [[Category:Applications]] | ||
[[Category:Web Applications]] | |||
[[Category:Server]] |