💾 Archived View for elmau.net › notes › mastodon.gmi captured on 2024-07-08 at 23:52:11. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-03-20)
-=-=-=-=-=-=-
Red social libre y descentralizada de microblogging.
Debes de tener ya apuntando un registro DNS tipo A (o AAAA) a tu dominio o subdominio que vayas a usar con Mastodon, para este ejemplo he usado: "social.elmau.net". Si no tienes dominio, puedo ayudarte con un subdominio.
Para este proceso he usado Ubuntu Server 22.04 LTS. También asumo que tienes conocimientos básicos de la terminal Linux con cualquier shell. Aquí uso el editor "vim" para editar los archivos, pero puedes usar cualquier editor de texto plano que te guste y este instalado en tu servidor.
Si activas el registro abierto en tu instancia y quieres recibir las notificaciones por correo, necesitas un servicio SMTP activo y funcionando.
El servidor es un VPS con 2 cores y 2 GB de RAM suficiente para varios usuarios.
Asumo que es un servidor limpio recién instalado y actualizado. Como "root"."
apt update apt upgrade apt autoremove
Asegurate de tener correctamente configurado tu host.
hostnamectl set-hostname social.elmau.net
Tu zona horaria.
timedatectl set-timezone America/Mexico_City
Y tus locales
localectl set-locale LANG=en_US.UTF-8 LANGUAGE="en_US:en"
apt install apt-transport-https
Version 16.x LTS
curl -sL https://deb.nodesource.com/setup_16.x | bash - apt update
apt install 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 libgdbm-dev nginx redis-server redis-tools postgresql postgresql-contrib certbot libidn11-dev libicu-dev libjemalloc-dev
corepack enable yarn set version stable
Agregamos al usuario "mastodon".
adduser --disabled-login mastodon
Y nos cambiamos a el.
su - mastodon
Intalamos "rbenv"
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 exec bash
Intalamos "rbenv-build"
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
Instalamos y establecemos la versión global. Este paso, dependiedo de tu hardware puede ser el más tardado.
RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.0.4 rbenv global 3.0.4
Intalamos
gem install bundler --no-document
Salimos del usuario "mastodon"
exit
Entramos al shell de "postgres"
sudo -u postgres psql
Creamos el usuarios "mastodon" con el permiso para crear la base de datos.
CREATE USER mastodon CREATEDB;
Salimos del shell.
\q
Nos cambiamos de usuario.
su - mastodon
Clonamos el repositorio.
git clone https://github.com/tootsuite/mastodon.git live
Nos movemos de directorio.
cd live
Nos cambiamos a la versión más reciente estable.
git checkout $(git tag -l | grep -v 'rc[0-9]*