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 well:
+
+* Twidere
+* Tusky
+* Pawoo (Android + iOS)
+* Subway Tooter
+* Amaroq (iOS)
+* Tootdon (Android + iOS)
+
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.
## Installation
GRANT ALL ON ALL sequences IN SCHEMA public TO pleroma;
```
- * Change password in `config/dev.exs`, and change user to `"pleroma"` (line like `username: "postgres"`)
- * Create and update your database with `mix ecto.create && mix ecto.migrate`. If it gives errors, try running again, this is a known issue.
+ * Create `config/dev.secret.exs` and copy the database settings from `dev.exs` there.
+ * Change password in `config/dev.secret.exs`, and change user to `"pleroma"` (line like `username: "postgres"`)
+ * Create and update your database with `mix ecto.create && mix ecto.migrate`.
### Some additional configuration
- * 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_.
+ * 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_. We _ONLY_ support _HTTPS_ deployments in production. You can use basic http for local dev, but _NEVER USE IT_ on an actual instance.
- In file `config/dev.exs`, add these lines at the end of the file:
+ Create the file `config/dev.secret.exs`, add these lines at the end of the file:
```elixir
config :pleroma, Pleroma.Web.Endpoint,
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.
+
+ ```elixir
+ 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.