Roger Braun 9f861826d7 | 6 년 전 | |
---|---|---|
config | 6 년 전 | |
installation | 6 년 전 | |
lib | 6 년 전 | |
priv | 6 년 전 | |
test | 6 년 전 | |
.credo.exs | 7 년 전 | |
.gitignore | 7 년 전 | |
LICENSE | 7 년 전 | |
README.md | 6 년 전 | |
TODO.txt | 7 년 전 | |
mix.exs | 6 년 전 | |
mix.lock | 6 년 전 |
Pleroma is an OStatus-compatible social networking server written in Elixir, compatible with GNU Social and Mastodon. It is high-performance and can run on small devices like a Raspberry Pi.
For clients it supports both the GNU Social API with Qvitter extensions and the Mastodon client API.
Mobile clients that are known to work:
No release has been made yet, but several servers have been online for months already. If you want to run your own server, feel free to contact us at @lain@pleroma.soykaf.com or in our dev chat at https://matrix.heldscal.la/#/room/#pleromafe:matrix.heldscal.la.
PostgreSQL 9.6 should be available on Debian stable (Jessie) from “main” area. Install it using apt: apt install postgresql-9.6
. Make sure that older versions are not installed since Debian allows multiple versions to coexist but still runs only one version.
You must install elixir 1.4+ from elixir-lang.org, because Debian repos only have 1.3.x version. You will need to add apt repo to sources.list(.d) and import GPG key. Follow instructions here: https://elixir-lang.org/install.html#unix-and-unix-like (See “Ubuntu or Debian 7”). This should be valid until Debian updates elixir in their repositories. Package you want is named elixir
, so install it using apt install elixir
Elixir will also require make
and probably other related software for building dependencies - in case you don't have them, get them via apt install build-essential
adduser pleroma
, you can login as it via su pleroma
mix deps.get
if it asks you to install “hex” - agree to that.Create a database user and database for pleroma
su postgres -c psql
\c pleroma_dev
CREATE user pleroma;
ALTER user pleroma with encrypted password '<your password>';
GRANT ALL ON ALL tables IN SCHEMA public TO pleroma;
GRANT ALL ON ALL sequences IN SCHEMA public TO pleroma;
config/dev.secret.exs
and copy the database settings from dev.exs
there.config/dev.secret.exs
, and change user to "pleroma"
(line like username: "postgres"
)mix ecto.create && mix ecto.migrate
.You will need to let pleroma instance to know what hostname/url it's running on. THIS IS THE MOST IMPORTANT STEP. GET THIS WRONG AND YOU'LL HAVE TO RESET YOUR DATABASE.
Create the file config/dev.secret.exs
, add these lines at the end of the file:
config :pleroma, Pleroma.Web.Endpoint,
url: [host: "example.tld", scheme: "https", port: 443]
replacing example.tld
with your (sub)domain
You should also setup your site name and admin email address. Look at config.exs for more available options.
config :pleroma, :instance,
name: "My great instance",
email: "someone@example.com"
The common and convenient way for adding HTTPS is by using Nginx as a reverse proxy. You can look at example Nginx configuration in installation/pleroma.nginx
. If you need TLS/SSL certificates for HTTPS, you can look get some for free with letsencrypt: https://letsencrypt.org/
On Debian you can use certbot
package and command to manage letsencrypt certificates.
[Not tested with system reboot yet!] You'll also want to set up Pleroma to be run as a systemd service. Example .service file can be found in installation/pleroma.service
you can put it in /etc/systemd/system/
.
By default, it listens on port 4000 (TCP), so you can access it on http://localhost:4000/ (if you are on the same machine). In case of an error it will restart automatically.
Running service pleroma start
Logs can be watched by using journalctl -fu pleroma.service
Run mix phx.server
in repository's root, it will output log into stdout/stderr