Before installing discord.place, make sure you have the required services and accounts set up. The sections below cover what is required and what is optional.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.
Required
Node.js
The server runs on any recent Node.js LTS version. The client requires Node.js 18.x specifically due to Next.js compatibility constraints.Download Node.js
Use Node.js 18.x for the client. Mismatched versions can cause build failures.
npm
npm is the package manager used for both the client and server. It is bundled with Node.js, so no separate installation is needed.npm docs
Git
Git is required to clone the repository and stay up to date with new releases.Download Git
MongoDB
discord.place uses MongoDB as its primary database. You can run a local instance or use a managed service like MongoDB Atlas.Download MongoDB Community
S3-compatible storage
Emoji and sound files are stored in an S3-compatible object store. Cloudflare R2 is recommended, but any S3-compatible service works (AWS S3, MinIO, etc.).
Discord application
You need a Discord application with a bot token (for the bot) and OAuth2 credentials (client ID and client secret) for user login.Discord Developer Portal
Cloudflare Turnstile
Turnstile is used for human verification on the website. You need a Turnstile site key (for the client) and a secret key (for the server).Get a Turnstile site key
CDN URL
A publicly accessible URL where emoji and sound files will be served from. This is typically the public URL of your S3-compatible bucket or a CDN fronting it.
Optional
These services are not required to run a basic instance, but enable additional functionality:Lemon Squeezy
Required only if you want to offer Premium subscriptions. You need an API key and a webhook secret.Lemon Squeezy Developer Guide
Sentry
Enables server-side error tracking. Set
SENTRY_DSN in the server .env file to activate.Sentry documentationBetter Stack Uptime
Used for uptime monitoring and heartbeat checks (daily database backup, S3 availability). Set the
HEARTBEAT_ID_* values in the server .env file.Better Stack UptimeWebhooks proxy server
If you want to route webhook requests through a proxy, configure the
WEBHOOKS_PROXY_SERVER_* variables in the server .env file.S3 database backup variables (
S3_DATABASE_BACKUP_*) are separate from the main S3 variables. If you leave them empty, the server will still start but will log warnings about missing backup configuration.
