2017-12-08 08:58:14 +00:00
|
|
|
# This file is responsible for configuring your application
|
|
|
|
# and its dependencies with the aid of the Mix.Config module.
|
|
|
|
#
|
|
|
|
# This configuration file is loaded before any dependency and
|
|
|
|
# is restricted to this project.
|
2019-10-05 17:07:50 +00:00
|
|
|
import Config
|
2017-12-08 08:58:14 +00:00
|
|
|
|
|
|
|
# General application configuration
|
2018-10-11 15:37:39 +00:00
|
|
|
config :mobilizon,
|
2019-10-12 11:16:36 +00:00
|
|
|
ecto_repos: [Mobilizon.Storage.Repo],
|
|
|
|
env: Mix.env()
|
2017-12-08 08:58:14 +00:00
|
|
|
|
2018-10-11 15:37:39 +00:00
|
|
|
config :mobilizon, :instance,
|
2019-10-07 14:48:13 +00:00
|
|
|
name: System.get_env("MOBILIZON_INSTANCE_NAME") || "My Mobilizon Instance",
|
|
|
|
description:
|
|
|
|
System.get_env("MOBILIZON_INSTANCE_DESCRIPTION") ||
|
|
|
|
"Change this to a proper description of your instance",
|
2019-07-23 11:49:22 +00:00
|
|
|
hostname: System.get_env("MOBILIZON_INSTANCE_HOST") || "localhost",
|
2019-05-24 07:18:19 +00:00
|
|
|
registrations_open: System.get_env("MOBILIZON_INSTANCE_REGISTRATIONS_OPEN") || false,
|
2019-12-17 11:09:24 +00:00
|
|
|
registration_email_whitelist: [],
|
2019-11-21 15:07:43 +00:00
|
|
|
demo: System.get_env("MOBILIZON_INSTANCE_DEMO_MODE") || false,
|
2019-05-22 12:12:11 +00:00
|
|
|
repository: Mix.Project.config()[:source_url],
|
2019-07-30 14:40:59 +00:00
|
|
|
allow_relay: true,
|
2019-09-27 14:18:29 +00:00
|
|
|
# Federation is to be activated with Mobilizon 1.0.0-beta.2
|
2019-12-03 10:29:51 +00:00
|
|
|
federating: true,
|
2019-05-22 12:12:11 +00:00
|
|
|
remote_limit: 100_000,
|
2019-10-18 12:19:05 +00:00
|
|
|
upload_limit: 10_000_000,
|
2019-05-22 12:12:11 +00:00
|
|
|
avatar_upload_limit: 2_000_000,
|
2019-07-23 11:49:22 +00:00
|
|
|
banner_upload_limit: 4_000_000,
|
2019-09-23 08:26:38 +00:00
|
|
|
email_from: System.get_env("MOBILIZON_INSTANCE_EMAIL") || "noreply@localhost",
|
|
|
|
email_reply_to: System.get_env("MOBILIZON_INSTANCE_EMAIL") || "noreply@localhost"
|
2018-05-17 09:32:23 +00:00
|
|
|
|
|
|
|
config :mime, :types, %{
|
2018-05-18 07:56:21 +00:00
|
|
|
"application/activity+json" => ["activity-json"],
|
|
|
|
"application/jrd+json" => ["jrd-json"]
|
2018-05-17 09:32:23 +00:00
|
|
|
}
|
|
|
|
|
2017-12-08 08:58:14 +00:00
|
|
|
# Configures the endpoint
|
2020-01-26 20:36:50 +00:00
|
|
|
config :mobilizon, Mobilizon.Web.Endpoint,
|
2017-12-08 08:58:14 +00:00
|
|
|
url: [host: "localhost"],
|
|
|
|
secret_key_base: "1yOazsoE0Wqu4kXk3uC5gu3jDbShOimTCzyFL3OjCdBmOXMyHX87Qmf3+Tu9s0iM",
|
2020-01-26 20:36:50 +00:00
|
|
|
render_errors: [view: Mobilizon.Web.ErrorView, accepts: ~w(html json)],
|
2019-07-23 11:49:22 +00:00
|
|
|
pubsub: [name: Mobilizon.PubSub, adapter: Phoenix.PubSub.PG2]
|
2017-12-08 08:58:14 +00:00
|
|
|
|
2019-05-22 12:12:11 +00:00
|
|
|
# Upload configuration
|
2020-01-26 20:36:50 +00:00
|
|
|
config :mobilizon, Mobilizon.Web.Upload,
|
|
|
|
uploader: Mobilizon.Web.Upload.Uploader.Local,
|
2019-10-21 11:42:45 +00:00
|
|
|
filters: [
|
2020-01-26 20:36:50 +00:00
|
|
|
Mobilizon.Web.Upload.Filter.Dedupe,
|
|
|
|
Mobilizon.Web.Upload.Filter.Optimize
|
2019-10-21 11:42:45 +00:00
|
|
|
],
|
2019-05-22 12:12:11 +00:00
|
|
|
link_name: true,
|
|
|
|
proxy_remote: false,
|
|
|
|
proxy_opts: [
|
|
|
|
redirect_on_failure: false,
|
|
|
|
max_body_length: 25 * 1_048_576,
|
|
|
|
http: [
|
|
|
|
follow_redirect: true,
|
|
|
|
pool: :upload
|
|
|
|
]
|
|
|
|
]
|
|
|
|
|
2020-01-26 20:36:50 +00:00
|
|
|
config :mobilizon, Mobilizon.Web.Upload.Uploader.Local, uploads: "uploads"
|
2019-05-22 12:12:11 +00:00
|
|
|
|
|
|
|
config :mobilizon, :media_proxy,
|
2019-12-03 10:29:51 +00:00
|
|
|
enabled: true,
|
2019-05-22 12:12:11 +00:00
|
|
|
proxy_opts: [
|
|
|
|
redirect_on_failure: false,
|
|
|
|
max_body_length: 25 * 1_048_576,
|
|
|
|
http: [
|
|
|
|
follow_redirect: true,
|
|
|
|
pool: :media
|
|
|
|
]
|
|
|
|
]
|
|
|
|
|
2017-12-08 08:58:14 +00:00
|
|
|
# Configures Elixir's Logger
|
|
|
|
config :logger, :console,
|
|
|
|
format: "$time $metadata[$level] $message\n",
|
|
|
|
metadata: [:request_id]
|
|
|
|
|
2020-01-26 20:36:50 +00:00
|
|
|
config :mobilizon, Mobilizon.Web.Auth.Guardian,
|
2018-10-11 15:37:39 +00:00
|
|
|
issuer: "mobilizon",
|
2018-07-27 08:45:35 +00:00
|
|
|
secret_key: "ty0WM7YBE3ojvxoUQxo8AERrNpfbXnIJ82ovkPdqbUFw31T5LcK8wGjaOiReVQjo"
|
2018-01-13 22:33:03 +00:00
|
|
|
|
|
|
|
config :guardian, Guardian.DB,
|
2019-09-07 23:49:56 +00:00
|
|
|
repo: Mobilizon.Storage.Repo,
|
2018-07-27 08:45:35 +00:00
|
|
|
# default
|
|
|
|
schema_name: "guardian_tokens",
|
|
|
|
# store all token types if not set
|
2018-11-06 09:30:27 +00:00
|
|
|
# token_types: ["refresh_token"],
|
2018-07-27 08:45:35 +00:00
|
|
|
# default: 60 minutes
|
|
|
|
sweep_interval: 60
|
2018-07-09 12:19:24 +00:00
|
|
|
|
|
|
|
config :geolix,
|
2018-07-27 08:45:35 +00:00
|
|
|
databases: [
|
|
|
|
%{
|
|
|
|
id: :city,
|
|
|
|
adapter: Geolix.Adapter.MMDB2,
|
2018-10-10 12:57:35 +00:00
|
|
|
source: System.get_env("GEOLITE_CITIES_PATH") || "priv/data/GeoLite2-City.mmdb"
|
2018-07-27 08:45:35 +00:00
|
|
|
}
|
|
|
|
]
|
2018-11-06 09:30:27 +00:00
|
|
|
|
2019-07-26 09:30:28 +00:00
|
|
|
config :auto_linker,
|
|
|
|
opts: [
|
|
|
|
scheme: true,
|
|
|
|
extra: true,
|
|
|
|
# TODO: Set to :no_scheme when it works properly
|
|
|
|
validate_tld: true,
|
|
|
|
class: false,
|
2019-12-03 10:29:51 +00:00
|
|
|
strip_prefix: false,
|
|
|
|
new_window: true,
|
|
|
|
rel: "noopener noreferrer ugc"
|
2019-07-26 09:30:28 +00:00
|
|
|
]
|
|
|
|
|
2019-05-02 11:04:21 +00:00
|
|
|
config :phoenix, :format_encoders, json: Jason, "activity-json": Jason
|
2019-07-03 15:30:22 +00:00
|
|
|
config :phoenix, :json_library, Jason
|
2019-03-12 10:52:28 +00:00
|
|
|
|
2019-09-30 16:18:04 +00:00
|
|
|
config :ex_cldr,
|
|
|
|
default_locale: "en",
|
|
|
|
default_backend: Mobilizon.Cldr
|
|
|
|
|
2019-07-30 14:40:59 +00:00
|
|
|
config :http_signatures,
|
2020-01-22 01:14:42 +00:00
|
|
|
adapter: Mobilizon.Federation.HTTPSignatures.Signature
|
2019-07-30 14:40:59 +00:00
|
|
|
|
2019-12-03 10:29:51 +00:00
|
|
|
config :mobilizon, :activitypub, sign_object_fetches: true
|
|
|
|
|
2019-03-12 10:52:28 +00:00
|
|
|
config :mobilizon, Mobilizon.Service.Geospatial.Nominatim,
|
|
|
|
endpoint:
|
|
|
|
System.get_env("GEOSPATIAL_NOMINATIM_ENDPOINT") || "https://nominatim.openstreetmap.org",
|
|
|
|
api_key: System.get_env("GEOSPATIAL_NOMINATIM_API_KEY") || nil
|
|
|
|
|
|
|
|
config :mobilizon, Mobilizon.Service.Geospatial.Addok,
|
|
|
|
endpoint: System.get_env("GEOSPATIAL_ADDOK_ENDPOINT") || "https://api-adresse.data.gouv.fr"
|
|
|
|
|
|
|
|
config :mobilizon, Mobilizon.Service.Geospatial.Photon,
|
|
|
|
endpoint: System.get_env("GEOSPATIAL_PHOTON_ENDPOINT") || "https://photon.komoot.de"
|
|
|
|
|
|
|
|
config :mobilizon, Mobilizon.Service.Geospatial.GoogleMaps,
|
2019-08-22 13:57:44 +00:00
|
|
|
api_key: System.get_env("GEOSPATIAL_GOOGLE_MAPS_API_KEY") || nil,
|
|
|
|
fetch_place_details: System.get_env("GEOSPATIAL_GOOGLE_MAPS_FETCH_PLACE_DETAILS") || true
|
2019-03-12 10:52:28 +00:00
|
|
|
|
|
|
|
config :mobilizon, Mobilizon.Service.Geospatial.MapQuest,
|
|
|
|
api_key: System.get_env("GEOSPATIAL_MAP_QUEST_API_KEY") || nil
|
2019-10-05 17:07:50 +00:00
|
|
|
|
2019-11-08 18:37:14 +00:00
|
|
|
config :mobilizon, Mobilizon.Service.Geospatial.Mimirsbrunn,
|
|
|
|
endpoint: System.get_env("GEOSPATIAL_MIMIRSBRUNN_ENDPOINT") || nil
|
|
|
|
|
2019-11-19 16:59:04 +00:00
|
|
|
config :mobilizon, Mobilizon.Service.Geospatial.Pelias,
|
|
|
|
endpoint: System.get_env("GEOSPATIAL_PELIAS_ENDPOINT") || nil
|
|
|
|
|
2019-11-20 12:49:57 +00:00
|
|
|
config :mobilizon, :maps,
|
|
|
|
tiles: [
|
|
|
|
endpoint:
|
|
|
|
System.get_env("MAPS_TILES_ENDPOINT") ||
|
|
|
|
"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
|
|
|
|
attribution: System.get_env("MAPS_TILES_ATTRIBUTION")
|
|
|
|
]
|
|
|
|
|
2019-11-04 14:10:58 +00:00
|
|
|
config :mobilizon, Oban,
|
|
|
|
repo: Mobilizon.Storage.Repo,
|
|
|
|
prune: {:maxlen, 10_000},
|
2019-12-03 10:29:51 +00:00
|
|
|
queues: [default: 10, search: 20, background: 5]
|
2019-11-04 14:10:58 +00:00
|
|
|
|
2019-10-05 17:07:50 +00:00
|
|
|
# Import environment specific config. This must remain at the bottom
|
|
|
|
# of this file so it overrides the configuration defined above.
|
|
|
|
import_config "#{Mix.env()}.exs"
|