昨日、CentOS 7でPleromaという記事(メモ)を書きましたが、こちらはCentOS Stream 8版です。
ハマりポイントは、powertoolsを有効にしてfile-develを入れておけ、ということぐらいですかね。cmakeも忘れずに。
Installing on CentOS Stream 8
Prepare the system
sudo dnf update -y sudo dnf install epel-release -y sudo dnf update -y sudo dnf install cmake -y sudo dnf --enablerepo=powertools install file-devel -y sudo dnf group install "Development Tools" -y
Erlang
wget https://packages.erlang-solutions.com/erlang-solutions-2.0-1.noarch.rpm rpm -Uvh erlang-solutions-2.0-1.noarch.rpm sudo dnf install esl-erlang -y
Elixir
dnf install elixir -y
PostgreSQL 13
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm sudo dnf -qy module disable postgresql sudo dnf 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 local.hex --force sudo -Hu pleroma mix local.rebar --force 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
Test
sudo -Hu pleroma MIX_ENV=prod mix phx.server
Nginx
sudo dnf install nginx sudo dnf 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