fr:mastodon
Table des matières
~~
''__**ATTENTION (09.02.2024): THIS TUTORIAL IS NOT YET FINISHED**__'' ''__**ATTENTION (09.02.2024): THIS TUTORIAL IS NOT YET FINISHED**__'' ''__**ATTENTION (09.02.2024): THIS TUTORIAL IS NOT YET FINISHED**__'' ''__**ATTENTION (09.02.2024): THIS TUTORIAL IS NOT YET FINISHED**__'' ''__**ATTENTION (09.02.2024): THIS TUTORIAL IS NOT YET FINISHED**__'' ''__**ATTENTION (09.02.2024): THIS TUTORIAL IS NOT YET FINISHED**__''
Guide d'installation de Mastodon :
Debian :
- Il s'agit d'un tutoriel rapide et sommaire visant à obtenir le maximum de fonctionnalités.
- De plus, je vous recommande d'installer apt-cacher-ng sur l'hôte et de l'ajouter à la machine virtuelle :
* I assume you use a fresh, not used System. * If we need to compile, we use ccache here to speed up due it might a 50/50 chance of a failure ;-) * I also assume that this is a VM/Container that is exclusivly used for this. So that in case of a Totale failure, you can restore from a Snapshot or Backup you have to be done, before you started * We Assume, you use Debian 12 - if you use i.e. debian 11 use this before: * <code> OLDDISTRI=bullseye sed -i 's/\$OLDDISTRI/bookworm/gi' /etc/apt/sources.list.d/* sed -i 's/\%OLDDISTRI/bookworm/gi' /etc/apt/*.list ===== Installing Pre-Requirements ====== * <code> INSTALLPATH=/opt/mastodon apt install -qy curl gnupg2 ca-certificates lsb-release debian-archive-keyring sudo git build-essential etckeeper imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file git-core g++ libprotobuf-dev protobuf-compiler pkg-config nodejs gcc autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev nginx libidn11-dev libicu-dev ccache libgdm1 libgdm-dev patch rustc libgmp-dev libgdbm6 libdb-dev uuid-dev git nano iptables-persistent bison libncurses5-dev sudo curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null sudo curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash - echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg echo "deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" >/etc/apt/sources.list.d/backports.list echo "deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" >>/etc/apt/sources.list.d/backports.list sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done sudo apt -qy update && sudo apt -qy dist-upgrade && sudo apt -qy install redis-server redis-tools postgresql postgresql-contrib nginx yarn letsencrypt sudo update-ccache-symlinks echo PATH="/usr/lib/ccache:$PATH" >> ~/.bashrc && source ~/.bashrc PATH="/usr/lib/ccache:$PATH" sudo install -m 0755 -d /etc/apt/keyrings
Téléchargement des sources
CHEMIN D'INSTALLATION=/opt/mastodon/mastodon git clone https://github.com/tootsuite/mastodon.git $INSTALLPATH git clone https://github.com/rbenv/rbenv.git ~/.rbenv cd ~/.rbenv && src/configure && make -C src echo 'export PATH=“$HOME/.rbenv/bin:$PATH”' » ~/.bashrc echo 'eval “$(rbenv init -)”' » ~/.bashrc source ~/.bashrc cd $INSTALLPATH gem install bundler git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build git clone https://github.com/rbenv/ruby-build.git “$(rbenv root)”/plugins/ruby-build cd $INSTALLPATH && rbenv install 3.2.3 cd $INSTALLPATH && rbenv global 3.2.3
Configuration de Mastodon : clonage de l'utilisateur et du dépôt
INSTALLPATH=/opt/mastodon INSTALLUSER=mastodon sudo adduser $INSTALLUSER sudo adduser $INSTALLUSER docker sudo usermod --home=$INSTALLPATH $INSTALLUSER sudo usermod -g $INSTALLUSER www-data sudo usermod -g www-data $INSTALLUSER sudo chown -R $INSTALLUSER:www-data $INSTALLPATH sudo chmod 755 $INSTALLPATH su - $INSTALLUSER -c "cp $INSTALLPATH/.env.production.sample $INSTALLPATH/.env.production" su - $INSTALLUSER -c "sed -i 's/\bBuild: \./#Build: ./gi' $INSTALLPATH/docker-compose.yml"
Configuration de Mastodon : .env.production
- Brève information : vous n'avez pas besoin de modifier le fichier, il sera écrasé par la commande suivante.
- Suivez le guide de configuration. Vous n'avez pas besoin de compiler vos propres éléments. VRAIMENT PAS. Gagnez du temps
- C'est pourquoi nous avons supprimé les lignes de compilation ci-dessus.
- Croyez-moi, c'est un vrai casse-tête et une perte de temps… ;-D
docker-compose run --rm web bundle exec rake mastodon:setup
- FACULTATIF : précompilez toutes les ressources.
docker-compose run --rm web rake assets:precompile
Configuration de Mastodon : NGINX
- Nous devons créer et ajouter certaines informations pour que NGINX puisse l’utiliser
- Remarque : si vous devez utiliser un autre proxy inverse en amont, cela n’a pas été testé et pourrait ne pas fonctionner
INSTALLPATH=/opt/mastodon sudo mkdir /var/www/letsencrypt sudo cp $INSTALLPATH/dist/nginx.conf /etc/nginx/sites-available/mastodon sudo ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodon
Configuration de Mastodon : systemd
- Nous lions les fichiers de service pour les mettre à jour automatiquement
INSTALLPATH=/opt/mastodon INSTALLUSER=mastodon sudo ln -s $INSTALLPATH/dist/mastodon-sidekiq.service /etc/systemd/system/mastodon-sidekiq.service sudo ln -s $INSTALLPATH/dist/mastodon-streaming.service /etc/systemd/system/mastodon-streaming.service sudo ln -s $INSTALLPATH/dist/mastodon-web.service /etc/systemd/system/mastodon-web.service sudo systemctl daemon-reload && sudo systemctl enable --now mastodon.service
- Nous vérifions si l'opération a réussi :
INSTALLPATH=/opt/mastodon watch docker compose -f $INSTALLPATH/docker-compose.yml ps
Références :
fr/mastodon.txt · Dernière modification : de domele
