Инструменты пользователя

Инструменты сайта


pleroma

Установка Pleroma

Docker

Официальных образов Docker разработчики не предоставляют, но есть поддерживаемые сторонними энтузиастами https://github.com/angristan/docker-pleroma и https://github.com/sn0w/pleroma-docker.

Установка и настройка

Официальная вики проекта предоставляет инструкции для многих дистрибутивов. Ниже приведён перевод для Debian-based (подойдёт для Debian Stretch, Ubuntu 16.04, Ubuntu 18.04)

Зависимости

Нам потребуются следующие пакеты:

  • postgresql 9.6 и новее. Ubuntu 16.04 идёт с версией 9.5, в этом случае можете установиться новую отсюда
  • postgresql-contrib налогично предыдущему пункту
  • elixir (1.5 и новее — в репозиториях версии устаревшие, потому ставьте отсюда либо воспользуйтесь asdf, запустив его из-под пользователя pleroma
  • erlang-dev
  • erlang-tools
  • erlang-parsetools
  • erlang-eldap (если вам требуется авторизация через LDAP)
  • erlang-xmerl
  • git
  • build-essential

Необязательные, но рекомендуемые пакеты (используются в этой инструкции):

  • nginx
  • certbot

Подготовим систему

sudo apt update
sudo apt full-upgrade
sudo apt install git build-essential postgresql postgresql-contrib

Установим Elixir и Erlang

Сперва нужно добавить репозиторий:

wget -P /tmp/ https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
sudo dpkg -i /tmp/erlang-solutions_1.0_all.deb

Теперь установим:

sudo apt update
sudo apt install elixir erlang-dev erlang-parsetools erlang-xmerl erlang-tools

Установка Pleroma backend

Создадим отдельного пользователя для сервиса:

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
sudo -Hu pleroma git clone https://git.pleroma.social/pleroma/pleroma /opt/pleroma

Переходим в директорию pleroma и устанавливаем зависимости (если предложат установить Hex — ответьте yes):

cd /opt/pleroma
sudo -Hu pleroma mix deps.get

Теперь сгенерируйте конфиг командой sudo -Hu pleroma mix pleroma.instance gen, на предложение установить rebar3, опять же, отвечайте yes. Это займёт некоторое время, поскольку будут скомпилированы некоторые компоненты.
По окончании компиляции вам будет задано несколько вопросов, и итоговый конфиг окажется в config/generated_config.exs.

Откройте этот файл, поправьте при необходимости, и переименуйте в prod.secret.exs:

mv config/{generated_config.exs,prod.secret.exs}

Выполненые ранее команды также создали файл config/setup_db.psql, который позволит нам создать базу данных:

sudo -Hu postgres psql -f config/setup_db.psql

Теперь запустим миграцию БД:

sudo -Hu pleroma MIX_ENV=prod mix ecto.migrate

И собственно саму Pleroma:

sudo -Hu pleroma MIX_ENV=prod mix phx.server

Завершение установки

Если вы хотите открыть новую инстанцию всему миру, вам нужен фронтэнд. В данном примере мы воспользуемся nginx.

Nginx

Для начала установим его:

sudo apt install nginx

И CertBot для управления сертификатами SSL:

sudo apt install certbot

Сгенерируем сертификаты (nginx должен быть остановлен, либо установите дополнительно python3-certbot-nginx и при вызове certbot используйте параметр –nginx вместо –standalone) :

sudo mkdir -p /var/lib/letsencrypt/
sudo certbot certonly --email <your@emailaddress> -d <yourdomain> --standalone

Скопируем конфиг нашего сервера из директории с примерами:

sudo cp /opt/pleroma/installation/pleroma.nginx /etc/nginx/sites-available/pleroma.nginx
sudo ln -s /etc/nginx/sites-available/pleroma.nginx /etc/nginx/sites-enabled/pleroma.nginx

Отредактируйте файл /etc/nginx/sites-available/pleroma.nginx сообразно вашим нуждам — то есть укажите там ваш домен и корректные пути до сертификатов.

Теперь включим и запустим сервис nginx:

sudo systemctl enable --now nginx.service

Systemd

Для автозапуска сервиса pleroma воспользуемся юнитом systemd. Скопируйте файл из примеров:

sudo cp /opt/pleroma/installation/pleroma.service /etc/systemd/system/pleroma.service

Проверьте, что пути в файле /etc/systemd/system/pleroma.service указаны верно и запустите:

sudo systemctl enable --now pleroma.service

Создание первого пользователя

Ваша инстанция запущена и работает. Настало время создать админа:

sudo -Hu pleroma MIX_ENV=prod mix pleroma.user new <username> <your@emailaddress> --admin

That's all, folks.

pleroma.txt · Последние изменения: 2019/05/21 07:22 — admin