Emberstore logoEmberstore

config.yml walkthrough

Every section of config.yml, what it does, its default, and the page that explains it in full.

plugins/Emberstore/config.yml holds every switch that is not about a single item. Most sections have their own page, so this one is the map: what each section is for and where to read more. Change a value, then run /store admin reload.

The sections of config.yml grouped by topic: prices, checkout, payments, players, servers, lists and testing, each with the docs page that explains it.

Language and prices

KeyDefaultWhat it does
languageen_USLanguage file from lang/, without .yml. See Messages and language.
price-currency"usd"The currency every item price is written in.
currenciesusd $, eur €, gbp £, inr ₹Symbol shown for each currency code. A code without one shows the code.
currency-conversionon, liveConverting prices for gateways that bill in another currency. See Prices and currencies.

Checkout

KeyDefaultWhat it does
checkout.use-dialogstrueShow checkout as a dialog. When false, or when a client cannot show dialogs, the chest menu is used. See Checkout dialogs.
checkout.expire-minutes30Minutes before a payment link stops being valid. Also how long an unpaid order holds its stock and code use.
success-url"https://yourdomain.com/thanks"Page buyers land on after paying.
cancel-url"https://yourdomain.com/cancelled"Page buyers land on after cancelling.
fees.showfalseShow an estimated gateway fee in checkout. Display only, it never changes what is charged.
fees.percentnowpayments: 0.5, stripe: 2.9Estimated fee per gateway as a percentage of the price, keyed by gateway id.
gifts.enabledtrueLet players buy an item for another player. See Stock, limits and gifts.

Payments

KeyDefaultWhat it does
webhook.enabledtrueRun the webhook listener on this server.
webhook.listen-address"127.0.0.1"Address the listener binds to.
webhook.listen-port8443Port the listener binds to.
webhook.public-base-url"https://yourdomain.com"Public HTTPS address of the listener. Gateways post to it plus /webhook/<gateway id>.
nowpayments ... litepayonly NOWPayments onOne section per gateway. See Payment gateways.
reconciliation.enabledtrueRe-check stuck orders with their gateway.
reconciliation.poll-interval-seconds120Seconds between checks.
reconciliation.stale-after-minutes5Only orders older than this are re-checked.
revocation.on-refundtrueTake the reward back on a refund. See Refunds.
revocation.on-disputetrueTake the reward back on a dispute or chargeback.

Players

KeyDefaultWhat it does
offline-delivery.enabledtrueHold rewards for offline players until they join. See Offline delivery.
offline-delivery.notify-on-jointrueTell players about rewards delivered on join.
subscriptions.renewal-reminder-days[3, 1]Days before a timed item ends when the player is reminded. See Timed items.
discordoffPost order events to a Discord webhook. See Notifications.
purchase-log.enabledtrueWrite every order event to a daily log file.
notify.in-gametrueTell players with emberstore.notify when a sale completes.

Servers

KeyDefaultWhat it does
storagesqliteWhich database to use and how to reach it. See Storage.
networkoffShare one store between several servers. See Networks.
dashboardoffThe read-only web dashboard. See Web dashboard.
proxy.real-ip-header""Header carrying the real visitor address when a reverse proxy sits in front. Empty to ignore it.
proxy.trusted-addresses["127.0.0.1", "::1"]Addresses or CIDR ranges of proxies allowed to set that header. Used by the dashboard and the webhook listener.

Dashboard keys

KeyDefaultWhat it does
dashboard.enabledfalseTurn the dashboard on or off.
dashboard.listen-address"127.0.0.1"Address it listens on. Anything else logs a warning that traffic is unencrypted unless a TLS proxy is in front.
dashboard.listen-port8444Port it listens on.
dashboard.public-url"https://dashboard.yourdomain.com"Address admins open, used to build login links.
dashboard.login-link-minutes5Minutes a login link stays valid. Each link works once.
dashboard.session-minutes120Minutes of inactivity before a session ends.
dashboard.allow-insecure-httpfalseAllow a plain http:// public-url. Without it the dashboard refuses to start on one.
dashboard.show-test-ordersfalseInclude test orders in the figures by default.

Lists and testing

KeyDefaultWhat it does
lists.entries-per-page8Rows per page in /store history, /store top and /store admin orders.
help.entries-per-page5Commands per page in /store help and /store admin help.
test-mode.enabledfalseTurns on the admin test tools and marks new orders as tests. See Test mode.
test-mode.fake-invoicesfalseSkip the gateway and hand out a dummy link.

When files update

Every shipped file has a version key (config-version, categories-version and so on). When an update adds new keys, Emberstore adds them to your file and keeps your values. Your file is not touched on a normal restart. Items, sales and codes you deleted never come back.

On this page