Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/discordplace/discord.place/llms.txt

Use this file to discover all available pages before exploring further.

The client configuration lives in client/config.js. Open this file and update the values to match your deployment. The options most commonly changed during self-hosting are documented below.

Full config structure

client/config.js
const config = {
  availableLocales: [
    {
      name: 'English',
      code: 'en',
      dateFnsKey: 'enUS',
      flag: 'πŸ‡ΊπŸ‡Έ',
      default: true,
      countryCode: 'us'
    },
    {
      name: 'Turkish',
      code: 'tr',
      dateFnsKey: 'tr',
      flag: 'πŸ‡ΉπŸ‡·',
      countryCode: 'tr'
    },
    {
      name: 'Azerbaijani',
      code: 'az',
      dateFnsKey: 'az',
      flag: 'πŸ‡¦πŸ‡Ώ',
      countryCode: 'az'
    }
  ],
  supportInviteUrl: 'https://invite.discord.place',
  docsUrl: 'https://docs.discord.place',
  statusUrl: 'https://status.discord.place',
  statusBadgeUrl: 'https://status.discord.place/badge',
  api: {
    url: process.env.NODE_ENV === 'development'
      ? 'http://localhost:3001'
      : 'https://api.discord.place'
  },
  analytics: {
    script: 'https://analytics.skyhan.cloud/api/script.js',
    siteId: '1'
  },
  botTestGuildId: '1239320384441159751',
  botInviteURL: 'https://bot.discord.place',
  customHostnames: ['dsc.lat', 'dsc.gay', 'dsc.wtf', 'dsc.baby'],
  // ... (category lists, icon maps, deny reasons β€” rarely need changing)
};

export default config;

Options reference

availableLocales
object[]
required
Array of locale objects defining all languages available on the site. Each object has the following shape:
FieldTypeDescription
namestringHuman-readable language name, e.g. "English"
codestringBCP 47 language code, e.g. "en", "tr"
dateFnsKeystringKey used to load the matching date-fns locale, e.g. "enUS"
flagstringFlag emoji for the language picker
defaultbooleanSet to true on exactly one locale to mark it as the default
countryCodestringISO 3166-1 alpha-2 country code used for display
Locale JSON files must exist in client/locales/ matching each code. See Localization for adding new languages.
To change the default locale, set default: true on the desired locale object (and remove it from the current default). You must also update the DEFAULT_LOCALE_CODE environment variable in .github/workflows/validate-locale-files.yml to avoid spurious GitHub Actions errors.
supportInviteUrl
string
required
Invite URL for your Discord support server. Displayed in navigation menus, error pages, and other places throughout the site where users are directed to get help.
docsUrl
string
required
URL of your documentation site. Linked from the main navigation and various help prompts.
statusUrl
string
required
URL of your status page (e.g. a Better Stack or Instatus page). Displayed in the footer and error states.
statusBadgeUrl
string
required
URL of the embeddable status badge image for your status page. Rendered as an inline image in the footer.
api.url
string
required
Base URL of the backend API server. The client uses this for all API requests.The default config already handles the development vs production split:
api: {
  url: process.env.NODE_ENV === 'development'
    ? 'http://localhost:3001'
    : 'https://api.discord.place'
}
Replace the production value with your own API domain. Use a domain name (not a bare IP address), and ensure both client and server domains are behind Cloudflare.
analytics.script
string
URL of the Rybbit Analytics script to load. If you are not using Rybbit, update or remove this value β€” no other analytics providers are natively supported.
analytics.siteId
string
Your Rybbit site ID. Assigned when you create a site in the Rybbit dashboard.
botTestGuildId
string
Discord guild ID used for quickly inviting newly submitted bots during review. Set this to a guild you control for testing purposes.
botInviteURL
string
required
Public invite URL for the discord.place bot itself. Shown in multiple places across the site wherever users are prompted to add the bot to their server.
customHostnames
string[]
required
List of custom hostnames that can be used as vanity profile URLs (e.g. dsc.lat/username). Update this list to the hostnames you control and have pointed at your deployment.
Each hostname in this list must be DNS-pointed to the same server that hosts the client, using a reverse proxy (e.g. nginx or Caddy) to route requests to the correct port. The server’s customHostnames in config.yml must contain the same list.

Build docs developers (and LLMs) love