From e76115989a0867d5a37a869b560153c2e7c060fd Mon Sep 17 00:00:00 2001 From: rinpatch Date: Fri, 21 Jun 2019 19:30:25 +0300 Subject: Move config templates to priv so they can be found in releases --- priv/templates/robots_txt.eex | 2 + priv/templates/sample_config.eex | 81 ++++++++++++++++++++++++++++++++++++++++ priv/templates/sample_psql.eex | 7 ++++ 3 files changed, 90 insertions(+) create mode 100644 priv/templates/robots_txt.eex create mode 100644 priv/templates/sample_config.eex create mode 100644 priv/templates/sample_psql.eex (limited to 'priv') diff --git a/priv/templates/robots_txt.eex b/priv/templates/robots_txt.eex new file mode 100644 index 000000000..1af3c47ee --- /dev/null +++ b/priv/templates/robots_txt.eex @@ -0,0 +1,2 @@ +User-Agent: * +Disallow: <%= if indexable, do: "", else: "/" %> diff --git a/priv/templates/sample_config.eex b/priv/templates/sample_config.eex new file mode 100644 index 000000000..8b45acb05 --- /dev/null +++ b/priv/templates/sample_config.eex @@ -0,0 +1,81 @@ +# Pleroma instance configuration + +# NOTE: This file should not be committed to a repo or otherwise made public +# without removing sensitive information. + +use Mix.Config + +config :pleroma, Pleroma.Web.Endpoint, + url: [host: "<%= domain %>", scheme: "https", port: <%= port %>], + secret_key_base: "<%= secret %>", + signing_salt: "<%= signing_salt %>" + +config :pleroma, :instance, + name: "<%= name %>", + email: "<%= email %>", + notify_email: "<%= notify_email %>", + limit: 5000, + registrations_open: true, + dynamic_configuration: <%= db_configurable? %> + +config :pleroma, :media_proxy, + enabled: false, + redirect_on_failure: true + #base_url: "https://cache.pleroma.social" + +config :pleroma, Pleroma.Repo, + adapter: Ecto.Adapters.Postgres, + username: "<%= dbuser %>", + password: "<%= dbpass %>", + database: "<%= dbname %>", + hostname: "<%= dbhost %>", + pool_size: 10 + +# Configure web push notifications +config :web_push_encryption, :vapid_details, + subject: "mailto:<%= email %>", + public_key: "<%= web_push_public_key %>", + private_key: "<%= web_push_private_key %>" + +config :pleroma, :instance, static_dir: "<%= static_dir %>" +config :pleroma, Pleroma.Uploaders.Local, uploads: "<%= uploads_dir %>" + +# Enable Strict-Transport-Security once SSL is working: +# config :pleroma, :http_security, +# sts: true + +# Configure S3 support if desired. +# The public S3 endpoint is different depending on region and provider, +# consult your S3 provider's documentation for details on what to use. +# +# config :pleroma, Pleroma.Uploaders.S3, +# bucket: "some-bucket", +# public_endpoint: "https://s3.amazonaws.com" +# +# Configure S3 credentials: +# config :ex_aws, :s3, +# access_key_id: "xxxxxxxxxxxxx", +# secret_access_key: "yyyyyyyyyyyy", +# region: "us-east-1", +# scheme: "https://" +# +# For using third-party S3 clones like wasabi, also do: +# config :ex_aws, :s3, +# host: "s3.wasabisys.com" + + +# Configure Openstack Swift support if desired. +# +# Many openstack deployments are different, so config is left very open with +# no assumptions made on which provider you're using. This should allow very +# wide support without needing separate handlers for OVH, Rackspace, etc. +# +# config :pleroma, Pleroma.Uploaders.Swift, +# container: "some-container", +# username: "api-username-yyyy", +# password: "api-key-xxxx", +# tenant_id: "", +# auth_url: "https://keystone-endpoint.provider.com", +# storage_url: "https://swift-endpoint.prodider.com/v1/AUTH_/", +# object_url: "https://cdn-endpoint.provider.com/" +# diff --git a/priv/templates/sample_psql.eex b/priv/templates/sample_psql.eex new file mode 100644 index 000000000..f0ac05e57 --- /dev/null +++ b/priv/templates/sample_psql.eex @@ -0,0 +1,7 @@ +CREATE USER <%= dbuser %> WITH ENCRYPTED PASSWORD '<%= dbpass %>'; +CREATE DATABASE <%= dbname %> OWNER <%= dbuser %>; +\c <%= dbname %>; +--Extensions made by ecto.migrate that need superuser access +CREATE EXTENSION IF NOT EXISTS citext; +CREATE EXTENSION IF NOT EXISTS pg_trgm; +CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; -- cgit v1.2.3 From 960d6b54e8575b828d34fcf0b69e634dc4d33fe0 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Fri, 21 Jun 2019 21:56:49 +0300 Subject: use Config in generated config when available Mix.Config is deprecated and does not work on OTP releases. However we can't fully switch to Config because it is not present in Elixir < 1.9. I tried to evaluate if Config is available at runtime, but for some weird reason OTP releases crash if I do that. --- priv/templates/sample_config.eex | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'priv') diff --git a/priv/templates/sample_config.eex b/priv/templates/sample_config.eex index 8b45acb05..526593d0a 100644 --- a/priv/templates/sample_config.eex +++ b/priv/templates/sample_config.eex @@ -3,7 +3,11 @@ # NOTE: This file should not be committed to a repo or otherwise made public # without removing sensitive information. -use Mix.Config +<%= if Code.ensure_loaded?(Config) do + "import Config" +else + "use Mix.Config" +end %> config :pleroma, Pleroma.Web.Endpoint, url: [host: "<%= domain %>", scheme: "https", port: <%= port %>], -- cgit v1.2.3