Can't migrate config to database
When I set config :pleroma, configurable_from_database: true
in prod.secret.exs
and run sudo -Hu pleroma MIX_ENV=prod mix pleroma.config migrate_to_db
I get this:
Click to expand output
11:28:21.898 [debug] connecting to myhtml_e1bf4ecd@127.0.0.1 failed
11:28:21.902 [debug] Spawning myhtml_e1bf4ecd@127.0.0.1
11:28:21.959 [debug] c-node is saying: initialising myhtml_e1bf4ecd@127.0.0.1
11:28:21.959 [debug] c-node is saying: connecting to master_21eef0b4@127.0.0.1
11:28:21.959 [debug] connected to myhtml_e1bf4ecd@127.0.0.1
11:28:32.317 [warn]
.i;;;;i.
iYcviii;vXY:
.YXi .i1c.
.YC. . in7.
.vc. ...... ;1c.
i7, .. .;1;
i7, .. ... .Y1i
,7v .6MMM@; .YX,
.7;. ..IMMMMMM1 :t7.
.;Y. ;$MMMMMM9. :tc.
vY. .. .nMMM@MMU. ;1v.
i7i ... .#MM@M@C. .....:71i
it: .... $MMM@9;.,i;;;i,;tti
:t7. ..... 0MMMWv.,iii:::,,;St.
.nC. ..... IMMMQ..,::::::,.,czX.
.ct: ....... .ZMMMI..,:::::::,,:76Y.
c2: ......,i..Y$M@t..:::::::,,..inZY
vov ......:ii..c$MBc..,,,,,,,,,,..iI9i
i9Y ......iii:..7@MA,..,,,,,,,,,....;AA:
iIS. ......:ii::..;@MI....,............;Ez.
.I9. ......:i::::...8M1..................C0z.
.z9; ......:i::::,.. .i:...................zWX.
vbv ......,i::::,,. ................. :AQY
c6Y. .,...,::::,,..:t0@@QY. ................ :8bi
:6S. ..,,...,:::,,,..EMMMMMMI. ............... .;bZ,
:6o, .,,,,..:::,,,..i#MMMMMM#v................. YW2.
.n8i ..,,,,,,,::,,,,.. tMMMMM@C:.................. .1Wn
7Uc. .:::,,,,,::,,,,.. i1t;,..................... .UEi
7C...::::::::::::,,,,.. .................... vSi.
;1;...,,::::::,......... .................. Yz:
v97,......... .voC.
izAotX7777777777777777777777777777777777777777Y7n92:
.;CoIIIIIUAA666666699999ZZZZZZZZZZZZZZZZZZZZ6ov.
HTTP Security is disabled. Please re-enable it to prevent users from attacking
your instance and your users via malicious posts:
config :pleroma, :http_security, enabled: true
11:28:32.604 [debug] QUERY OK source="config" db=2.3ms queue=0.9ms idle=27.7ms
SELECT c0."id", c0."key", c0."group", c0."value", c0."inserted_at", c0."updated_at" FROM "config" AS c0 []
11:28:32.616 [info] Application web_push_encryption exited: :stopped
11:28:32.617 [info] Application auto_linker exited: :stopped
11:28:32.617 [warn] esshd is not started.
11:28:32.619 [info] Application postgrex exited: :stopped
11:28:32.627 [info] Application ex_aws exited: :stopped
11:28:32.662 [info] Application pleroma exited: Pleroma.Application.start(:normal, []) returned an error: shutdown: failed to start child: Pleroma.Stats
** (EXIT) an exception was raised:
** (RuntimeError) could not lookup Ecto repo Pleroma.Repo because it was not started or it does not exist
(ecto 3.4.0) lib/ecto/repo/registry.ex:19: Ecto.Repo.Registry.lookup/1
(ecto 3.4.0) lib/ecto/repo/queryable.ex:173: Ecto.Repo.Queryable.execute/4
(ecto 3.4.0) lib/ecto/repo/queryable.ex:17: Ecto.Repo.Queryable.all/3
(pleroma 2.0.50-2439-gd63a1243-adminfe) lib/pleroma/stats.ex:73: Pleroma.Stats.get_stat_data/0
(pleroma 2.0.50-2439-gd63a1243-adminfe) lib/pleroma/stats.ex:48: Pleroma.Stats.init/1
(stdlib 3.11.2) gen_server.erl:374: :gen_server.init_it/2
(stdlib 3.11.2) gen_server.erl:342: :gen_server.init_it/6
(stdlib 3.11.2) proc_lib.erl:249: :proc_lib.init_p_do_apply/3
11:28:32.662 [info] Application prometheus_ecto exited: :stopped
11:28:32.663 [info] Application phoenix_ecto exited: :stopped
11:28:32.664 [info] Application open_api_spex exited: :stopped
11:28:32.664 [info] Application remote_ip exited: :stopped
11:28:32.664 [info] Application inet_cidr exited: :stopped
11:28:32.665 [info] Application plug_static_index_html exited: :stopped
11:28:32.665 [info] Application prometheus_plugs exited: :stopped
11:28:32.665 [info] Application accept exited: :stopped
11:28:32.665 [info] Application ueberauth exited: :stopped
11:28:32.666 [info] Application cors_plug exited: :stopped
11:28:32.666 [info] Application phoenix_swoosh exited: :stopped
11:28:32.666 [info] Application phoenix_html exited: :stopped
11:28:32.666 [info] Application trailing_format_plug exited: :stopped
11:28:32.669 [info] Application swoosh exited: :stopped
11:28:32.669 [info] Application prometheus_phoenix exited: :stopped
11:28:32.669 [info] Application plug_cowboy exited: :stopped
11:28:32.670 [info] Application cowboy exited: :stopped
11:28:32.670 [info] Application ranch exited: :stopped
11:28:32.670 [info] Application joken exited: :stopped
11:28:32.671 [info] Application gun exited: :stopped
11:28:32.671 [info] Application oban exited: :stopped
11:28:32.671 [info] Application ecto_enum exited: :stopped
11:28:32.672 [info] Application ecto_sql exited: :stopped
11:28:32.673 [info] Application ecto exited: :stopped
11:28:32.677 [info] Application postgrex exited: :stopped
11:28:32.679 [info] Application db_connection exited: :stopped
11:28:32.679 [info] Application decimal exited: :stopped
11:28:32.679 [info] Application connection exited: :stopped
11:28:32.679 [info] Application crypt exited: :stopped
11:28:32.679 [info] Application http_signatures exited: :stopped
11:28:32.679 [info] Application cowlib exited: :stopped
11:28:32.680 [error] GenServer Restarter.Pleroma terminating
** (MatchError) no match of right hand side value: {:error, {{:shutdown, {:failed_to_start_child, Pleroma.Stats, {%RuntimeError{message: "could not lookup Ecto repo Pleroma.Repo because it was not started or it does not exist"}, [{Ecto.Repo.Registry, :lookup, 1, [file: 'lib/ecto/repo/registry.ex', line: 19]}, {Ecto.Repo.Queryable, :execute, 4, [file: 'lib/ecto/repo/queryable.ex', line: 173]}, {Ecto.Repo.Queryable, :all, 3, [file: 'lib/ecto/repo/queryable.ex', line: 17]}, {Pleroma.Stats, :get_stat_data, 0, [file: 'lib/pleroma/stats.ex', line: 73]}, {Pleroma.Stats, :init, 1, [file: 'lib/pleroma/stats.ex', line: 48]}, {:gen_server, :init_it, 2, [file: 'gen_server.erl', line: 374]}, {:gen_server, :init_it, 6, [file: 'gen_server.erl', line: 342]}, {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 249]}]}}}, {Pleroma.Application, :start, [:normal, []]}}}
(restarter 0.1.0) lib/pleroma.ex:90: Restarter.Pleroma.do_restart/1
(restarter 0.1.0) lib/pleroma.ex:84: Restarter.Pleroma.handle_cast/2
(stdlib 3.11.2) gen_server.erl:637: :gen_server.try_dispatch/4
(stdlib 3.11.2) gen_server.erl:711: :gen_server.handle_msg/6
(stdlib 3.11.2) proc_lib.erl:249: :proc_lib.init_p_do_apply/3
Last message: {:"$gen_cast", {:after_boot, :prod}}
State: %{after_boot: false, need_reboot: false, rebooted: false}
11:28:32.680 [info] Application flake_id exited: :stopped
11:28:32.680 [info] Application base62 exited: :stopped
11:28:32.680 [info] Application custom_base exited: :stopped
11:28:32.681 [info] Application web_push_encryption exited: :stopped
11:28:32.681 [info] Application httpoison exited: :stopped
11:28:32.681 [info] Application jose exited: :stopped
11:28:32.681 [info] Application ex_aws_s3 exited: :stopped
11:28:32.682 [info] Application ex_aws exited: :stopped
11:28:32.682 [info] Application sweet_xml exited: :stopped
11:28:32.682 [info] Application xmerl exited: :stopped
11:28:32.682 [info] Application earmark exited: :stopped
11:28:32.682 [info] Application timex exited: :stopped
11:28:32.682 [info] Application combine exited: :stopped
11:28:32.682 [info] Application calendar exited: :stopped
11:28:32.683 [info] Application tzdata exited: :stopped
11:28:32.684 [info] Application hackney exited: :stopped
11:28:32.684 [info] Application metrics exited: :stopped
11:28:32.684 [info] Application ssl_verify_fun exited: :stopped
11:28:32.685 [info] Application certifi exited: :stopped
11:28:32.685 [info] Application mimerl exited: :stopped
11:28:32.685 [info] Application idna exited: :stopped
11:28:32.685 [info] Application unicode_util_compat exited: :stopped
11:28:32.685 [info] Application mogrify exited: :stopped
11:28:32.685 [info] Application castore exited: :stopped
11:28:32.685 [info] Application ex_const exited: :stopped
11:28:32.686 [info] Application prometheus_ex exited: :stopped
11:28:32.686 [info] Application prometheus exited: :stopped
11:28:32.686 [info] Application floki exited: :stopped
11:28:32.687 [info] Application html_entities exited: :stopped
11:28:32.687 [info] Application gen_smtp exited: :stopped
11:28:32.687 [info] Application recon exited: :stopped
11:28:32.687 [info] Application jason exited: :stopped
11:28:32.688 [info] Application cachex exited: :stopped
11:28:32.688 [info] Application sleeplocks exited: :stopped
11:28:32.688 [info] Application eternal exited: :stopped
11:28:32.688 [info] Application poolboy exited: :stopped
11:28:32.689 [info] Application benchee exited: :stopped
11:28:32.689 [info] Application deep_merge exited: :stopped
11:28:32.689 [info] Application bbcode_pleroma exited: :stopped
11:28:32.689 [info] Application nimble_parsec exited: :stopped
11:28:32.689 [info] Application auto_linker exited: :stopped
11:28:32.689 [info] Application pbkdf2_elixir exited: :stopped
11:28:32.690 [info] Application restarter exited: :stopped
11:28:32.690 [info] Application captcha exited: :stopped
11:28:32.690 [info] Application fast_sanitize exited: :stopped
11:28:32.691 [info] Application fast_html exited: :stopped
11:28:32.692 [info] Application quack exited: :stopped
11:28:32.692 [info] Application tesla exited: :stopped
11:28:32.692 [info] Application poison exited: :stopped
11:28:32.692 [info] Application comeonin exited: :stopped
11:28:32.692 [info] Application runtime_tools exited: :stopped
** (MatchError) no match of right hand side value: {:error, {:pleroma, {{:shutdown, {:failed_to_start_child, Pleroma.Stats, {%RuntimeError{message: "could not lookup Ecto repo Pleroma.Repo because it was not started or it does not exist"}, [{Ecto.Repo.Registry, :lookup, 1, [file: 'lib/ecto/repo/registry.ex', line: 19]}, {Ecto.Repo.Queryable, :execute, 4, [file: 'lib/ecto/repo/queryable.ex', line: 173]}, {Ecto.Repo.Queryable, :all, 3, [file: 'lib/ecto/repo/queryable.ex', line: 17]}, {Pleroma.Stats, :get_stat_data, 0, [file: 'lib/pleroma/stats.ex', line: 73]}, {Pleroma.Stats, :init, 1, [file: 'lib/pleroma/stats.ex', line: 48]}, {:gen_server, :init_it, 2, [file: 'gen_server.erl', line: 374]}, {:gen_server, :init_it, 6, [file: 'gen_server.erl', line: 342]}, {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 249]}]}}}, {Pleroma.Application, :start, [:normal, []]}}}}
(pleroma 2.0.50-2439-gd63a1243-adminfe) lib/mix/pleroma.ex:14: Mix.Pleroma.start_pleroma/0
(pleroma 2.0.50-2439-gd63a1243-adminfe) lib/mix/tasks/pleroma/config.ex:17: Mix.Tasks.Pleroma.Config.run/1
(mix 1.10.1) lib/mix/task.ex:330: Mix.Task.run_task/3
(mix 1.10.1) lib/mix/cli.ex:82: Mix.CLI.run_task/2
If I set config :pleroma, configurable_from_database: false
and run sudo -Hu pleroma MIX_ENV=prod mix pleroma.config migrate_from_db -d
I get
Click to expand output
11:33:18.864 [debug] connecting to myhtml_c3093382@127.0.0.1 failed
11:33:18.868 [debug] Spawning myhtml_c3093382@127.0.0.1
11:33:18.897 [debug] c-node is saying: initialising myhtml_c3093382@127.0.0.1
11:33:18.897 [debug] c-node is saying: connecting to master_4d51e6c3@127.0.0.1
11:33:18.898 [debug] connected to myhtml_c3093382@127.0.0.1
11:33:24.401 [warn]
.i;;;;i.
iYcviii;vXY:
.YXi .i1c.
.YC. . in7.
.vc. ...... ;1c.
i7, .. .;1;
i7, .. ... .Y1i
,7v .6MMM@; .YX,
.7;. ..IMMMMMM1 :t7.
.;Y. ;$MMMMMM9. :tc.
vY. .. .nMMM@MMU. ;1v.
i7i ... .#MM@M@C. .....:71i
it: .... $MMM@9;.,i;;;i,;tti
:t7. ..... 0MMMWv.,iii:::,,;St.
.nC. ..... IMMMQ..,::::::,.,czX.
.ct: ....... .ZMMMI..,:::::::,,:76Y.
c2: ......,i..Y$M@t..:::::::,,..inZY
vov ......:ii..c$MBc..,,,,,,,,,,..iI9i
i9Y ......iii:..7@MA,..,,,,,,,,,....;AA:
iIS. ......:ii::..;@MI....,............;Ez.
.I9. ......:i::::...8M1..................C0z.
.z9; ......:i::::,.. .i:...................zWX.
vbv ......,i::::,,. ................. :AQY
c6Y. .,...,::::,,..:t0@@QY. ................ :8bi
:6S. ..,,...,:::,,,..EMMMMMMI. ............... .;bZ,
:6o, .,,,,..:::,,,..i#MMMMMM#v................. YW2.
.n8i ..,,,,,,,::,,,,.. tMMMMM@C:.................. .1Wn
7Uc. .:::,,,,,::,,,,.. i1t;,..................... .UEi
7C...::::::::::::,,,,.. .................... vSi.
;1;...,,::::::,......... .................. Yz:
v97,......... .voC.
izAotX7777777777777777777777777777777777777777Y7n92:
.;CoIIIIIUAA666666699999ZZZZZZZZZZZZZZZZZZZZ6ov.
HTTP Security is disabled. Please re-enable it to prevent users from attacking
your instance and your users via malicious posts:
config :pleroma, :http_security, enabled: true
11:33:24.617 [info] Found emoji packs: dance, blubcat, brands, custom, senko, rooms, blobcat, bunhd, alphabet, meru, blobs.gg, blobfox, longfox, corona-chan, fse, raccoon, brain, rainbow, bunhd_flip, shiro, gyathe, christmas, turtle
11:33:24.617 [warn] Found files in the emoji folder. These will be ignored, please move them to a subdirectory
Found files: turtle.tar.gz, emojis.tar.zst, bunhd_flip.zip, emoji.tar.gz, blobcat.tar.gz, meru.tar.gz, corona_chan5.png, LICENSE, emojis.tar.xz, bunhd.zip, emojisteal.sh
11:33:24.684 [info] No emoji.txt found for pack "rainbow", assuming all .svg, .png, .gif, .jpg files are emoji
11:33:28.530 [debug] QUERY OK source="users" db=3908.1ms decode=0.1ms queue=2.6ms idle=27.7ms
SELECT distinct split_part(u0."nickname", '@', 2) FROM "users" AS u0 WHERE (u0."local" != $1) [true]
11:33:28.541 [debug] QUERY OK source="users" db=4.1ms queue=2.8ms idle=3936.6ms
SELECT sum(u0."note_count") FROM "users" AS u0 WHERE (u0."local" = $1) AND (NOT (u0."nickname" IS NULL)) [true]
11:33:28.551 [debug] QUERY OK source="users" db=7.9ms queue=1.3ms idle=3944.2ms
SELECT count(u0."id") FROM "users" AS u0 WHERE (u0."deactivated" != $1) AND (NOT (u0."nickname" IS NULL)) AND (u0."local" = $2) AND (NOT (u0."nickname" IS NULL)) [true, true]
11:33:28.701 [info] Starting gopher server on 9999
11:33:28.822 [error] Failed to start Ranch listener :gopher in :ranch_tcp:listen([cacerts: :..., key: :..., cert: :..., ip: {205, 185, 121, 146}, port: 9999]) for reason :eaddrinuse (address already in use)
Migration is not allowed in config. You can change this behavior by setting `configurable_from_database` to true.
Here's my prod.secret.exs
with sensitive info removed:
Click to expand config
# 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: "neckbeard.xyz", scheme: "https", port: 443],
secret_key_base: "super_secret",
signing_salt: "pepper"
config :pleroma, :instance,
name: "Neckbeard.xyz",
email: "neckbeard@rape.lol",
notify_email: "neckbeard@rape.lol",
description: "A place where anyone is welcome to share their waifu, argue about who's best girl, and grow a thicc and luscious neckbeard while trying to conceal their powerlevel.",
limit: 64_000,
remote_limit: 1_000_000,
registrations_open: true,
upload_limit: 256*1_048_576,
background_upload_limit: 8_000_000,
federation_reachability_timeout_days: 2,
allow_relay: true,
allowed_post_formats: [
"text/markdown",
"text/plain",
"text/html",
"text/bbcode"
],
mrf_transparency: true,
max_pinned_statuses: 50,
attachment_links: true,
welcome_user_nickname: "fbi",
welcome_message: "Welcome abord the H.M.S. Neckbeard. This is your friendly neighborhood FBI agent here. If you don't know who to follow then check out the public timeline and/or the whole known network. I'm sure you'll find some accounts that interest you to at least get you started. I hope you have a great time aboard this vessel as we sail the seven seas.",
max_report_comment_size: 5000,
safe_dm_mentions: true,
healthcheck: true,
subject_line_behavior: "noop",
managed_config: false,
extended_nickname_format: true,
remote_post_retention_days: 365
config :pleroma, :media_proxy,
enabled: true,
redirect_on_failure: true,
proxy_opts: [
max_body_length: 512 * 1_048_576,
redirect_on_failure: true
]
config :pleroma, Pleroma.Repo,
adapter: Ecto.Adapters.Postgres,
username: "pleroma",
password: "pa$$word",
database: "pleroma_dev",
hostname: "localhost",
pool_size: 15
# Configure web push notifications
config :web_push_encryption, :vapid_details,
subject: "mailto:neckbeard@rape.lol",
public_key: "publik",
private_key: "super_secret"
config :pleroma, Pleroma.User,
restricted_nicknames: [
".well-known",
"~",
"about",
"activities",
"api",
"auth",
"dev",
"friend-requests",
"inbox",
"internal",
"main",
"media",
"nodeinfo",
"notice",
"oauth",
"objects",
"ostatus_subscribe",
"pleroma",
"proxy",
"push",
"registration",
"relay",
"settings",
"status",
"tag",
"user-search",
"users",
"web",
"yeet",
"captain",
"admin",
"netdata",
"pages"
]
# 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: "<openstack-project/tenant-id>",
# auth_url: "https://keystone-endpoint.provider.com",
# storage_url: "https://swift-endpoint.prodider.com/v1/AUTH_<tenant>/<container>",
# object_url: "https://cdn-endpoint.provider.com/<container>"
#
config :pleroma, :frontend_configurations,
pleroma_fe: %{
theme: "retro",
logo: "/static/panda.png",
logoMask: false,
logoMargin: "0.1em",
background: "/static/night_life.jpg",
showInstanceSpecificPanel: true,
scopeOptionsEnabled: true,
formattingOptionsEnabled: true,
collapseMessageWithSubject: false,
hidePostStats: false,
hideUserStats: false,
scopeCopy: false,
subjectLineBehavior: "noop",
alwaysShowSubjectInput: true
}
config :pleroma, Pleroma.Upload,
link_name: false
# Captcha settings
config :pleroma, Pleroma.Captcha,
enabled: false,
seconds_valid: 300,
method: Pleroma.Captcha.Kocaptcha
config :pleroma, Pleroma.Captcha.Kocaptcha, endpoint: "https://captcha.kotobank.ch"
# Tor federation
#config :pleroma, :http, proxy_url: {:socks5, :localhost, 9050}
# Rich media cards toggle
config :pleroma, :rich_media, enabled: true
# Disable hellthread protection
config :pleroma, :mrf_hellthread,
delist_threshold: 5_000_000_000,
reject_threshold: 25_000_000_000
# MRF settings
config :pleroma, :instance,
rewrite_policy: [
Pleroma.Web.ActivityPub.MRF.TagPolicy,
Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy,
Pleroma.Web.ActivityPub.MRF.AntiHellthreadPolicy,
Pleroma.Web.ActivityPub.MRF.HellthreadPolicy]
config :pleroma, :mrf_anti_hellthread_policy,
user: "fbi"
# Custom uploads location
#config :pleroma, Pleroma.Uploaders.Local, uploads: "/mnt/pleroma/pleroma/uploads"
config :pleroma, Pleroma.Upload, uploader: Pleroma.Uploaders.S3
# Activity limits
config :pleroma, Pleroma.ScheduledActivity,
daily_user_limit: 10,
total_user_limit: 100000,
enabled: true
# Auto linker
config :auto_linker,
opts: [
scheme: true,
extra: true,
class: false,
strip_prefix: true,
new_window: true,
rel: false
]
# Block settings
config :pleroma, :activitypub,
unfollow_blocked: false,
deny_follow_blocked: false,
follow_handshake_timeout: 500
config :pleroma, :user, deny_follow_blocked: false
## Gopher configuration
config :pleroma, :gopher,
enabled: true,
ip: {205, 185, 121, 146},
port: 9999,
dstport: 70
# http_security
config :pleroma, :http_security,
enabled: false
## BBS/SSH
app_dir = File.cwd!
priv_dir = Path.join([app_dir, "priv/ssh_keys"])
config :esshd,
enabled: true,
priv_dir: priv_dir,
handler: "Pleroma.BBS.Handler",
port: 10_022,
password_authenticator: "Pleroma.BBS.Authenticator"
# Fancy cards
config :pleroma, Pleroma.Web.Metadata,
enabled: true,
providers: [
Pleroma.Web.Metadata.Providers.OpenGraph,
Pleroma.Web.Metadata.Providers.TwitterCard,
Pleroma.Web.Metadata.Providers.RelMe,
Pleroma.Web.Metadata.Providers.Feed
],
unfurl_nsfw: true
# Disable signing object fetches
config :pleroma, :activitypub, sign_object_fetches: false
# Emojis
config :pleroma, :emoji,
shortcode_globs: ["/emoji/**/*.svg", "/emoji/**/*.webp", "/emoji/**/*.png", "/emoji/**/*.gif", "/emoji/**/*.jpg"],
pack_extensions: [".svg", ".png", ".gif", ".jpg"],
groups: [
custom: ["/emoji/custom/*.svg","/emoji/custom/*.webp", "/emoji/custom/*.png", "/emoji/custom/*.gif", "/emoji/custom/*.jpg"],
FSE: ["/emoji/freespeechextremist.com/*.png", "/emoji/freespeechextremist.com/*.gif", "/emoji/freespeechextremist.com/*.jpg"],
GNUsmug: ["/emoji/pl.smuglo.li/*.png", "/emoji/pl.smuglo.li/*.gif", "/emoji/pl.smuglo.li/*.jpg"],
absturztaube: ["/emoji/fedi.absturztau.be/*.png", "/emoji/fedi.absturztau.be/*.gif", "/emoji/fedi.absturztau.be/*.jpg"],
ihatebeingalive: ["/emoji/ihatebeinga.live/*.png", "/emoji/ihatebeinga.live/*.gif", "/emoji/ihatebeinga.live/*.jpg"],
iscute: ["/emoji/iscute.moe/*.png", "/emoji/iscute.moe/*.gif", "/emoji/iscute.moe/*.jpg"],
letsalllovelain: ["/emoji/letsalllovela.in/*.png", "/emoji/letsalllovela.in/*.gif", "/emoji/letsalllovela.in/*.jpg"],
sataniaspace: ["/emoji/satania.space/*.png", "/emoji/satania.space/*.gif", "/emoji/satania.space/*.jpg"],
stereophonicspace: ["/emoji/stereophonic.space/*.png", "/emoji/stereophonic.space/*.gif", "/emoji/stereophonic.space/*.jpg"],
hedgie: ["/emoji/the.hedgehoghunter.club/*.png", "/emoji/the.hedgehoghunter.club/*.gif", "/emoji/the.hedgehoghunter.club/*.jpg"],
welovelain: ["/emoji/welovela.in/*.png", "/emoji/welovela.in/*.gif", "/emoji/welovela.in/*.jpg"],
spc: ["/emoji/shitposter.club/*.png", "/emoji/shitposter.club/*.gif", "/emoji/shitposter.club/*.jpg"],
nomoreshame: ["/emoji/nomoresha.me/*.png", "/emoji/nomoresha.me/*.gif", "/emoji/nomoresha.me/*.jpg"],
juchetown: ["/emoji/juche.town/*.png", "/emoji/juche.town/*.gif", "/emoji/juche.town/*.jpg"],
other: ["/emoji/**/*.svg", "/emoji/**/*.png", "/emoji/**/*.gif", "/emoji/**/*.jpg"]
]
# Rum index
config :pleroma, :database, rum_enabled: true
# SMTP
config :pleroma, Pleroma.Emails.Mailer,
enabled: true,
adapter: Swoosh.Adapters.SMTP,
relay: "mail.cock.li",
username: "jesus@wants.dicksinmyan.us",
password: "pa$$word",
port: 465,
ssl: true,
tls: :if_available,
auth: :always
# Fancy emails
config :pleroma, Pleroma.Emails.UserEmail,
logo: nil,
styling: %{
link_color: "#f7c833",
background_color: "#000000",
content_background_color: "#000000",
header_color: "#32a61a",
text_color: "#32a61a",
text_muted_color: "#0fa00f"
}
# Testing hashtag fix
config :postgrex, :json_library, Poison
# Object storage
config :pleroma, Pleroma.Uploaders.S3,
bucket: "neckbeard",
public_endpoint: "https://cheap.negroes.forsale"
config :ex_aws, :s3,
access_key_id: "neckbeard",
secret_access_key: "super_secret",
bucket_namespace: "loli-fugging-location-1",
host: "cheap.negroes.forsale"
config :pleroma, :rate_limit,
authentication: {60_000, 15},
timeline: {500, 3},
search: [{1000, 10}, {1000, 30}],
app_account_creation: {1_800_000, 25},
relations_actions: {10_000, 10},
relation_id_action: {60_000, 2},
statuses_actions: {10_000, 15},
status_id_action: {60_000, 3},
password_reset: {1_800_000, 5},
account_confirmation_resend: {8_640_000, 5},
ap_routes: {60_000, 15}
config :pleroma, :pools,
federation: [
size: 50,
max_overflow: 15,
timeout: 150_000
],
media: [
size: 50,
max_overflow: 15,
timeout: 150_000
],
upload: [
size: 50,
max_overflow: 10,
timeout: 300_000
],
default: [
size: 10,
max_overflow: 5,
timeout: 10_000
]
config :pleroma, Oban,
repo: Pleroma.Repo,
verbose: false,
prune: {:maxlen, 1500},
queues: [
activity_expiration: 10,
federator_incoming: 50,
federator_outgoing: 20,
web_push: 50,
mailer: 10,
transmogrifier: 20,
scheduled_activities: 10,
background: 5,
remote_fetcher: 2,
attachments_cleanup: 5,
new_users_digest: 1
],
crontab: [
{"0 0 * * *", Pleroma.Workers.Cron.ClearOauthTokenWorker},
{"0 * * * *", Pleroma.Workers.Cron.StatsWorker},
{"* * * * *", Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker},
{"0 0 * * 0", Pleroma.Workers.Cron.DigestEmailsWorker},
{"0 0 * * *", Pleroma.Workers.Cron.NewUsersDigestWorker}
]
# If your instance is behind a reverse proxy you must enable and configure [`Pleroma.Plugs.RemoteIp`]
config :pleroma, Pleroma.Plugs.RemoteIp, enabled: true
# Move config to db
config :pleroma, configurable_from_database: false
Not entirely sure what the issue is. The output doesn't give me a whole lot to go on.