Pleroma、もうCentOSへのインストール方法は公式にサポートしていない(ドキュメントが削除された)ようなんですが、まぁ動かないわけではないので、現時点のインストール手順をメモしておきます。CentOS 7用です。
追記:CentOS Stream 8でPleromaというメモも追加しました。
Installing on CentOS 7
Prepare the system
sudo yum update -y sudo yum install cmake file-devel -y sudo yum group install "Development Tools" -y
Erlang/OTP
wget https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_64/esl-erlang_23.3.1-1~centos~7_amd64.rpm sudo yum install esl-erlang_23.3.1-1~centos~7_amd64.rpm -y
Elixir/OTP
wget https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_64/elixir_1.10.4-1~centos~7_all.rpm sudo yum install elixir_1.10.4-1~centos~7_all.rpm -y
PostgreSQL 13
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm sudo yum install -y postgresql13-server postgresql13-contrib sudo /usr/pgsql-13/bin/postgresql-13-setup initdb sudo systemctl enable postgresql-13 sudo systemctl start postgresql-13
Pleroma
sudo useradd -r -s /bin/false -m -d /var/lib/pleroma -U pleroma sudo mkdir -p /opt/pleroma sudo chown -R pleroma:pleroma /opt/pleroma cd /opt/pleroma/ sudo -Hu pleroma git clone -b stable https://git.pleroma.social/pleroma/pleroma.git /opt/pleroma sudo -Hu pleroma mix deps.get sudo -Hu pleroma mix pleroma.instance gen sudo -Hu pleroma mv config/{generated_config.exs,prod.secret.exs} sudo -Hu postgres psql -f config/setup_db.psql sudo -Hu pleroma MIX_ENV=prod mix ecto.migrate
Run the server directly (Test)
sudo -Hu pleroma MIX_ENV=prod mix phx.server
Nginx
sudo yum install nginx sudo yum install certbot-nginx sudo mkdir -p /var/lib/letsencrypt/ sudo certbot certonly --email <your@emailaddress> -d <yourdomain> --standalone sudo cp /opt/pleroma/installation/pleroma.nginx /etc/nginx/conf.d/pleroma.conf sudo systemctl enable --now nginx
Systemd
sudo cp /opt/pleroma/installation/pleroma.service /etc/systemd/system/pleroma.service sudo systemctl enable --now pleroma.service
Create Admin User
sudo -Hu pleroma MIX_ENV=prod mix pleroma.user new <username> <your@emailaddress> --admin