From e278d470232f4e8081bbbe358137400074673e75 Mon Sep 17 00:00:00 2001 From: link0ff Date: Fri, 22 Feb 2019 15:03:43 +0200 Subject: OpenLDAP support --- docs/config.md | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'docs/config.md') diff --git a/docs/config.md b/docs/config.md index 14723b727..a497fb4ca 100644 --- a/docs/config.md +++ b/docs/config.md @@ -301,3 +301,12 @@ For each pool, the options are: * `max_connections` - how much connections a pool can hold * `timeout` - retention duration for connections +## :ldap + +* `enabled`: enables LDAP authentication +* `host`: LDAP server hostname +* `port`: LDAP port, e.g. 389 or 636 +* `ssl`: true to use SSL +* `sslopts`: additional SSL options +* `base`: LDAP base, e.g. "dc=example,dc=com" +* `uid`: attribute type to authenticate the user, e.g. when "cn", the filter will be "cn=username,base" -- cgit v1.2.3 From 88a672fe88deae53d5459d651859be65555e6af2 Mon Sep 17 00:00:00 2001 From: link0ff Date: Sun, 3 Mar 2019 21:20:36 +0200 Subject: Move LDAP code to LDAPAuthenticator. Use Authenticator for token_exchange with grant_type as well --- docs/config.md | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'docs/config.md') diff --git a/docs/config.md b/docs/config.md index d7349d54f..8d6770959 100644 --- a/docs/config.md +++ b/docs/config.md @@ -336,3 +336,8 @@ config :auto_linker, * `sslopts`: additional SSL options * `base`: LDAP base, e.g. "dc=example,dc=com" * `uid`: attribute type to authenticate the user, e.g. when "cn", the filter will be "cn=username,base" + +## Pleroma.Web.Auth.Authenticator + +* `Pleroma.Web.Auth.PleromaAuthenticator`: default database authenticator +* `Pleroma.Web.Auth.LDAPAuthenticator`: LDAP authentication -- cgit v1.2.3 From a283a1fcd026f33ecdd246fef6d035f95b2071a1 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Wed, 6 Mar 2019 02:25:13 +0100 Subject: Add default config for masto_fe Related to: https://git.pleroma.social/pleroma/mastofe/merge_requests/22 --- docs/config.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/config.md') diff --git a/docs/config.md b/docs/config.md index d1bf2a6f4..465bc1d2b 100644 --- a/docs/config.md +++ b/docs/config.md @@ -129,7 +129,7 @@ See: [logger’s documentation](https://hexdocs.pm/logger/Logger.html) and [ex_s ## :frontend_configurations -This can be used to configure a keyword list that keeps the configuration data for any kind of frontend. By default, settings for `pleroma_fe` are configured. +This can be used to configure a keyword list that keeps the configuration data for any kind of frontend. By default, settings for `pleroma_fe` and `masto_fe` are configured. Frontends can access these settings at `/api/pleroma/frontend_configurations` -- cgit v1.2.3 From 5021b7836fd0aabd2253416ec48dfcba60a1227c Mon Sep 17 00:00:00 2001 From: Ekaterina Vaartis Date: Thu, 7 Mar 2019 00:13:26 +0300 Subject: Fetch user's outbox posts on first federation with that user --- docs/config.md | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'docs/config.md') diff --git a/docs/config.md b/docs/config.md index 465bc1d2b..a09ea95f3 100644 --- a/docs/config.md +++ b/docs/config.md @@ -285,6 +285,10 @@ This config contains two queues: `federator_incoming` and `federator_outgoing`. ## :rich_media * `enabled`: if enabled the instance will parse metadata from attached links to generate link previews +## :fetch_initial_posts +* `enabled`: if enabled, when a new user is federated with, fetch some of their latest posts +* `pages`: the amount of pages to fetch + ## :hackney_pools Advanced. Tweaks Hackney (http client) connections pools. -- cgit v1.2.3 From 9338f061a303ae3d57a8ea1af524c2ca51929f8d Mon Sep 17 00:00:00 2001 From: link0ff Date: Tue, 12 Mar 2019 18:20:02 +0200 Subject: Support LDAP method start_tls --- docs/config.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'docs/config.md') diff --git a/docs/config.md b/docs/config.md index 8d6770959..7052b1eb4 100644 --- a/docs/config.md +++ b/docs/config.md @@ -329,13 +329,21 @@ config :auto_linker, ## :ldap +Use LDAP for user authentication. When a user logs in to the Pleroma +instance, the name and password will be verified by trying to authenticate +(bind) to an LDAP server. If a user exists in the LDAP directory but there +is no account with the same name yet on the Pleroma instance then a new +Pleroma account will be created with the same name as the LDAP user name. + * `enabled`: enables LDAP authentication * `host`: LDAP server hostname * `port`: LDAP port, e.g. 389 or 636 -* `ssl`: true to use SSL +* `ssl`: true to use SSL, usually implies the port 636 * `sslopts`: additional SSL options +* `tls`: true to start TLS, usually implies the port 389 +* `tlsopts`: additional TLS options * `base`: LDAP base, e.g. "dc=example,dc=com" -* `uid`: attribute type to authenticate the user, e.g. when "cn", the filter will be "cn=username,base" +* `uid`: LDAP attribute name to authenticate the user, e.g. when "cn", the filter will be "cn=username,base" ## Pleroma.Web.Auth.Authenticator -- cgit v1.2.3 From e2fe796c63f9df18d30810ad9daa1e7027da120f Mon Sep 17 00:00:00 2001 From: rinpatch Date: Thu, 14 Mar 2019 22:02:48 +0300 Subject: Add some tests --- docs/config.md | 1 + 1 file changed, 1 insertion(+) (limited to 'docs/config.md') diff --git a/docs/config.md b/docs/config.md index a09ea95f3..e34ffe980 100644 --- a/docs/config.md +++ b/docs/config.md @@ -6,6 +6,7 @@ If you run Pleroma with ``MIX_ENV=prod`` the file is ``prod.secret.exs``, otherw ## Pleroma.Upload * `uploader`: Select which `Pleroma.Uploaders` to use * `filters`: List of `Pleroma.Upload.Filter` to use. +* `link_name`: When enabled Pleroma will add a `name` parameter to the url of the upload, for example `https://instance.tld/media/corndog.png?name=corndog.png`. This is needed to provide the correct filename in Content-Disposition headers when using filters like `Pleroma.Upload.Filter.Dedupe` * `base_url`: The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host. * `proxy_remote`: If you\'re using a remote uploader, Pleroma will proxy media requests instead of redirecting to it. * `proxy_opts`: Proxy options, see `Pleroma.ReverseProxy` documentation. -- cgit v1.2.3 From 8468f3f6d48693d2a27a257e5555aa71decff3df Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 20 Mar 2019 21:09:36 +0100 Subject: Add safe dm mode option. --- docs/config.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'docs/config.md') diff --git a/docs/config.md b/docs/config.md index 201180373..78967204b 100644 --- a/docs/config.md +++ b/docs/config.md @@ -101,7 +101,8 @@ config :pleroma, Pleroma.Mailer, * `no_attachment_links`: Set to true to disable automatically adding attachment link text to statuses * `welcome_message`: A message that will be send to a newly registered users as a direct message. * `welcome_user_nickname`: The nickname of the local user that sends the welcome message. -* `max_report_size`: The maximum size of the report comment (Default: `1000`) +* `max_report_comment_size`: The maximum size of the report comment (Default: `1000`) +* `safe_dm_mentions`: If set to true, only mentions at the beginning of a post will be used to address people in direct messages. This is to prevent accidental mentioning of people when talking about them (e.g. "@friend hey i really don't like @enemy"). (Default: `false`) ## :logger * `backends`: `:console` is used to send logs to stdout, `{ExSyslogger, :ex_syslogger}` to log to syslog -- cgit v1.2.3 From 80bc9ed2ba9aa86edf8c1756c9ee59ad2a9bf20b Mon Sep 17 00:00:00 2001 From: Quentin Rameau Date: Mon, 18 Mar 2019 15:47:58 +0100 Subject: Add a gopher url port config option This lets the user advertise a different port in the gopher urls, for example listening locally on port 7070 but telling clients to connect to the regular port 70. --- docs/config.md | 1 + 1 file changed, 1 insertion(+) (limited to 'docs/config.md') diff --git a/docs/config.md b/docs/config.md index 201180373..4fa6bd62d 100644 --- a/docs/config.md +++ b/docs/config.md @@ -190,6 +190,7 @@ This section is used to configure Pleroma-FE, unless ``:managed_config`` in ``:i * `enabled`: Enables the gopher interface * `ip`: IP address to bind to * `port`: Port to bind to +* `dstport`: Port advertised in urls (optional, defaults to `port`) ## :activitypub * ``accept_blocks``: Whether to accept incoming block activities from other instances -- cgit v1.2.3 From 9a39d1d84613bb11542a0628e8b762970bd18bd0 Mon Sep 17 00:00:00 2001 From: Egor Date: Fri, 29 Mar 2019 12:46:05 +0000 Subject: Replace Pleroma.Jobs with `pleroma_job_queue` --- docs/config.md | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'docs/config.md') diff --git a/docs/config.md b/docs/config.md index c1246ee25..c206358ab 100644 --- a/docs/config.md +++ b/docs/config.md @@ -253,25 +253,20 @@ You can then do curl "http://localhost:4000/api/pleroma/admin/invite_token?admin_token=somerandomtoken" ``` -## Pleroma.Jobs +## :pleroma_job_queue -A list of job queues and their settings. - -Job queue settings: - -* `max_jobs`: The maximum amount of parallel jobs running at the same time. +[Pleroma Job Queue][https://git.pleroma.social/pleroma/pleroma_job_queue] configuration: a list of queues with maximum concurrent jobs. Example: -```exs -config :pleroma, Pleroma.Jobs, - federator_incoming: [max_jobs: 50], - federator_outgoing: [max_jobs: 50] +```elixir +config :pleroma_job_queue, :queues, + federator_incoming: 50, + federator_outgoing: 50 ``` This config contains two queues: `federator_incoming` and `federator_outgoing`. Both have the `max_jobs` set to `50`. - ## Pleroma.Web.Federator.RetryQueue * `enabled`: If set to `true`, failed federation jobs will be retried -- cgit v1.2.3 From 11584488d1301f6bd8a06d45b6bca0ff12f82889 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Fri, 29 Mar 2019 16:11:22 +0300 Subject: Improve PleromaJobQeue config documentation --- docs/config.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'docs/config.md') diff --git a/docs/config.md b/docs/config.md index c206358ab..b4e1ad275 100644 --- a/docs/config.md +++ b/docs/config.md @@ -255,7 +255,12 @@ curl "http://localhost:4000/api/pleroma/admin/invite_token?admin_token=somerando ## :pleroma_job_queue -[Pleroma Job Queue][https://git.pleroma.social/pleroma/pleroma_job_queue] configuration: a list of queues with maximum concurrent jobs. +[Pleroma Job Queue](https://git.pleroma.social/pleroma/pleroma_job_queue) configuration: a list of queues with maximum concurrent jobs. + +Pleroma has the following qeues: +* `federator_outgoing` - Outgoing federation +* `federator_incoming` - Incoming federation +* `mailer` - Email sender, see [`Pleroma.Mailer`](#pleroma-mailer) Example: -- cgit v1.2.3 From afbc905a1caf62705a7c5332d7fd847509701e54 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Fri, 29 Mar 2019 16:38:18 +0300 Subject: qs --- docs/config.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/config.md') diff --git a/docs/config.md b/docs/config.md index b4e1ad275..3624e295b 100644 --- a/docs/config.md +++ b/docs/config.md @@ -257,7 +257,7 @@ curl "http://localhost:4000/api/pleroma/admin/invite_token?admin_token=somerando [Pleroma Job Queue](https://git.pleroma.social/pleroma/pleroma_job_queue) configuration: a list of queues with maximum concurrent jobs. -Pleroma has the following qeues: +Pleroma has the following queues: * `federator_outgoing` - Outgoing federation * `federator_incoming` - Incoming federation * `mailer` - Email sender, see [`Pleroma.Mailer`](#pleroma-mailer) -- cgit v1.2.3 From a309b49c2d555d4961db443a37bbf02719749a35 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Mon, 1 Apr 2019 19:19:06 +0300 Subject: Remove outdated howto change config and port and move it to config.md instead --- docs/config.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'docs/config.md') diff --git a/docs/config.md b/docs/config.md index 3624e295b..f507d4461 100644 --- a/docs/config.md +++ b/docs/config.md @@ -193,6 +193,44 @@ This section is used to configure Pleroma-FE, unless ``:managed_config`` in ``:i * `port`: Port to bind to * `dstport`: Port advertised in urls (optional, defaults to `port`) +## Pleroma.Web.Endpoint +`Phoenix` endpoint configuration, all configuration options can be viewed [here](https://hexdocs.pm/phoenix/Phoenix.Endpoint.html#module-dynamic-configuration), only common options are listed here +* `http` - a list containing http protocol configuration, all configuration options can be viewed [here](https://hexdocs.pm/plug_cowboy/Plug.Cowboy.html#module-options), only common options are listed here + - `ip` - a tuple consisting of 4 integers + - `port` +* `url` - a list containing the configuration for generating urls, accepts + - `host` - the host without the scheme and a post (e.g `example.com`, not `https://example.com:2020`) + - `scheme` - e.g `http`, `https` + - `port` + - `path` + + +**Important note: if you modify anything inside these lists, default `config.exs` values will be overwritten, which may result in breakage, to make sure this does not happen please copy the default value for the list from `config.exs` and modify/add only what you need** + +Example: +```elixir +config :pleroma, Pleroma.Web.Endpoint, + url: [host: "example.com", port: 2020, scheme: "https"], + http: [ + # start copied from config.exs + dispatch: [ + {:_, + [ + {"/api/v1/streaming", Pleroma.Web.MastodonAPI.WebsocketHandler, []}, + {"/websocket", Phoenix.Endpoint.CowboyWebSocket, + {Phoenix.Transports.WebSocket, + {Pleroma.Web.Endpoint, Pleroma.Web.UserSocket, websocket_config}}}, + {:_, Phoenix.Endpoint.Cowboy2Handler, {Pleroma.Web.Endpoint, []}} + ]} + # end copied from config.exs + ], + port: 8080, + ip: {127, 0, 0, 1} + ] +``` + +This will make Pleroma listen on `127.0.0.1` port `8080` and generate urls starting with `https://example.com:2020` + ## :activitypub * ``accept_blocks``: Whether to accept incoming block activities from other instances * ``unfollow_blocked``: Whether blocks result in people getting unfollowed -- cgit v1.2.3 From e2b94d8f330041724b9c7d2b89c5020e463eb378 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Mon, 1 Apr 2019 19:24:50 +0300 Subject: Make only important note bold rather than the whole paragraph because it looks better that way --- docs/config.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/config.md') diff --git a/docs/config.md b/docs/config.md index f507d4461..97a0e6ffa 100644 --- a/docs/config.md +++ b/docs/config.md @@ -205,7 +205,7 @@ This section is used to configure Pleroma-FE, unless ``:managed_config`` in ``:i - `path` -**Important note: if you modify anything inside these lists, default `config.exs` values will be overwritten, which may result in breakage, to make sure this does not happen please copy the default value for the list from `config.exs` and modify/add only what you need** +**Important note**: if you modify anything inside these lists, default `config.exs` values will be overwritten, which may result in breakage, to make sure this does not happen please copy the default value for the list from `config.exs` and modify/add only what you need Example: ```elixir -- cgit v1.2.3