#P10166 MÀJ de la doc pour Mastodon 4.0.x sur Debian 11
This commit is contained in:
parent
f50eae0777
commit
80b77a34c2
|
@ -3,15 +3,15 @@ categories: web social
|
|||
title: Howto Mastodon
|
||||
...
|
||||
|
||||
* Documentation : <https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Production-guide.md>
|
||||
* Administration : <https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Administration-guide.md>
|
||||
* Documentation : <https://docs.joinmastodon.org/>
|
||||
* Administration : <https://docs.joinmastodon.org/admin/>
|
||||
|
||||
[Mastodon](https://github.com/tootsuite/mastodon) est un réseau social libre et décentralisé, en alternative à _Twitter_.
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
Nous installons la version **2.9.3** sous **Debian 9 (Stretch)**.
|
||||
Nous installons la version **4.0.2** sous **Debian 11 (Bullseye)**.
|
||||
|
||||
Mastodon s'appuie sur Ruby, [NodeJS](HowtoNodeJS), [Yarn](HowtoYarn), [Nginx](HowtoNginx), [Redis](HowtoRedis) et [PostgreSQL](HowtoPostgreSQL).
|
||||
|
||||
|
@ -35,7 +35,7 @@ Créer un compte UNIX *mastodon* :
|
|||
|
||||
### Ruby
|
||||
|
||||
Mastodon nécessite une version très récente de Ruby (2.6.1), on le met en place via [rbenv](HowtoRails#cas-2-utilisation-avec-rbenv-unicorn) :
|
||||
Mastodon 4.0.x nécessite Ruby (3.0.4), on le met en place via [rbenv](HowtoRails#cas-2-utilisation-avec-rbenv-unicorn) :
|
||||
|
||||
~~~
|
||||
# sudo -iu mastodon
|
||||
|
@ -47,15 +47,15 @@ $ echo 'export RAILS_ENV="production"' >> ~/.bash_profile
|
|||
$ source ~/.bash_profile
|
||||
$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
|
||||
$ cd
|
||||
$ TMPDIR=~/tmp MAKE_OPTS=-j$(nproc) RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 2.6.1
|
||||
$ rbenv local 2.6.1
|
||||
$ TMPDIR=~/tmp MAKE_OPTS=-j$(nproc) RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.0.4
|
||||
$ rbenv local 3.0.4
|
||||
~~~
|
||||
|
||||
> **Note** : On met la variable d'environnement `RAILS_ENV` dans notre profile bash pour éviter de l'indiquer à chaque commande Ruby/Rails.
|
||||
|
||||
### PostgreSQL
|
||||
|
||||
Mastodon utilise [PostgreSQL](HowtoPostgreSQL). On utilise donc la version 9.6 de Debian Stretch :
|
||||
Mastodon utilise [PostgreSQL](HowtoPostgreSQL). On utilise donc la version 13 de Debian 11 :
|
||||
|
||||
~~~
|
||||
# apt install postgresql postgresql-client libpq-dev postgresql-contrib
|
||||
|
@ -88,7 +88,7 @@ On clone le repository et installe avec _bundle_ et _yarn_ :
|
|||
# sudo -iu mastodon
|
||||
$ git clone https://github.com/tootsuite/mastodon.git
|
||||
$ cd mastodon
|
||||
$ git checkout v2.9.3
|
||||
$ git checkout v4.0.2
|
||||
$ gem install bundler
|
||||
$ bundle install --deployment --without development test
|
||||
$ yarn install --pure-lockfile
|
||||
|
@ -107,6 +107,7 @@ On édite le fichier fichier `.env.production` à notre convenance, voici un exe
|
|||
~~~
|
||||
REDIS_HOST=127.0.0.1
|
||||
REDIS_PORT=6379
|
||||
REDIS_NAMESPACE=instance01
|
||||
DB_HOST=127.0.0.1
|
||||
DB_USER=mastodon
|
||||
DB_NAME=mastodon_production
|
||||
|
@ -150,7 +151,7 @@ Compilation des assets :
|
|||
|
||||
~~~
|
||||
$ bundle exec rails assets:precompile
|
||||
$ chmod -R u=rwX,g=rwX,o=rX /home/mastodon/mastodon/public/{assets,packs}
|
||||
$ chmod -R u=rwX,g=rwX,o=rX /home/mastodon/mastodon/public
|
||||
~~~
|
||||
|
||||
### Unités systemd
|
||||
|
@ -221,6 +222,8 @@ Restart=always
|
|||
WantedBy=multi-user.target
|
||||
~~~
|
||||
|
||||
Note : les ports 3000 et 4000 ci-haut devront être changés s'il y a plus d'une instance sur le serveur. On pourra par exemple incrémenter de 1, donc 3001, 4001.
|
||||
|
||||
On active et on démarre les unités :
|
||||
|
||||
~~~
|
||||
|
@ -235,6 +238,8 @@ RAILS_ENV=production
|
|||
@daily cd /home/mastodon/mastodon && /home/mastodon/.rbenv/shims/bundle exec rake mastodon:media:remove_remote
|
||||
~~~
|
||||
|
||||
Note : Depuis la version 4.0.x, il est aussi possible de configurer la durée de vie du cache (médias, etc.) depuis l'interface d'administration (sous Administration -> Paramètres du serveur -> Rétention du contenu).
|
||||
|
||||
### Nginx
|
||||
|
||||
On utilise [Nginx](Howtonginx) :
|
||||
|
@ -359,7 +364,7 @@ $ exit
|
|||
# systemctl restart mastodon-*.service
|
||||
~~~
|
||||
|
||||
> **Note** : Ces commandes génériques ne sont parfois pas suffisantes. Pensez à lire les [notes de versions](https://github.com/tootsuite/mastodon/releases/).
|
||||
> **Note** : Ces commandes génériques ne sont parfois pas suffisantes. Vous devez systématiquement lire les [notes de versions](https://github.com/tootsuite/mastodon/releases/).
|
||||
|
||||
|
||||
## Configuration
|
||||
|
@ -387,9 +392,9 @@ On peut utiliser différents clients :
|
|||
|
||||
Mastodon n'a aucun fichier de logs. Les logs sont gérés via la sortie standard et vont donc dans journald. On consultera les logs avec `journalctl -u mastodon-web` (ou `mastodon-sidekiq` ou `mastodon-streaming`).
|
||||
|
||||
### Passer un utilisateur en admin
|
||||
### Passer un utilisateur existant en admin
|
||||
|
||||
~~~
|
||||
~/mastodon$ bundle exec rails mastodon:make_admin USERNAME=jdoe
|
||||
~/mastodon$ bin/tootctl accounts modify jdoe --role Admin
|
||||
Congrats! jdoe is now an admin. \o/
|
||||
~~~
|
||||
|
|
Loading…
Reference in a new issue