Install the dependencies for pleroma and answer with yes if it asks you to install Hex
Generate the configuration: mix pleroma.instance gen
Answer with yes if it asks you to install rebar3
This may take some time, cause parts(?) of pleroma get compiled first
After that it will ask you a few questions about your instance and generates a configuration file in config/generated_config.exs
Note: If you choose to activate the media_proxy, but leave the question about a specific cache url blank, please edit the generated_config.exs and remove or comment out the line starting with base_url and add a comma behind true in the line above.
Check the configuration and if all looks right, rename it, so Pleroma will load it:
The previous command creates also the file config/setup_db.psql, with which you can create the database:
sudo su postgres -c 'psql -f config/setup_db.psql'
Now run the database migration:
MIX_ENV=prod mix ecto.migrate
Now you can start Pleroma already
MIX_ENV=prod mix phx.server
If you want to open your newly installed instance to the world, you should run nginx or some other webserver/proxy in front of Pleroma and you should consider to create a systemd service file for Pleroma.
Install nginx, if not already done
apt install nginx
Setup your SSL cert - Using your method of choice or certbot.
If using certbot, first install it