NamelessNameSanitizerBot - Minimal Docker Runner []()

August 20, 2026 ยท View on GitHub

This repository is a minimal, fast-to-run Docker setup for NamelessNameSanitizerBot. It contains only what you need to run the published Docker image with PostgreSQL via Docker Compose - no application source code.

If you're looking for the bot's source code, feature list, and full documentation, see:

Why this repo exists

  • Minimal footprint: just docker-compose.yml, .env.example, and a couple of docs
  • Zero local build: uses the published image ghcr.io/nanashithenameless/namelessnamesanitizerbot:latest
  • One command to start: bring up the bot and a PostgreSQL instance quickly

Requirements

  • Docker Engine and Docker Compose plugin
  • Discord Bot token (with Bot scope; recommended intents: Server Members)
  • Discord Application (Client) ID (required for invite URL generation and API usage)

Quick start

1. Clone the repository

git clone --filter=blob:none https://github.com/NanashiTheNameless/NamelessNameSanitizerBot-Docker.git \
&& cd NamelessNameSanitizerBot-Docker \
&& git sparse-checkout init --no-cone \
&& git sparse-checkout set '/TermsOfService.md' '/SECURITY.md' '/PrivacyPolicy.md' '/README.md' '/LICENSE.md' '/docker-compose.yml' '/.env.example' '/autoConfig.sh' '/bot_statuses.jsonc'

2. Create .env

Option A - automated (recommended)

./autoConfig.sh

The wizard prompts for your required DISCORD_TOKEN, OWNER_ID, and APPLICATION_ID, validates them, and generates secure Postgres credentials, then it asks for your defaults. It writes .env for you. Re-run to overwrite if needed.

Option B - manual

cp .env.example .env
# Open .env and set at minimum:
#   DISCORD_TOKEN=your-discord-bot-token
#   APPLICATION_ID=your-application-client-id (invite links, slash command registration, API identity)
#   OWNER_ID=your-discord-user-id

Notes:

  • The default DATABASE_URL already matches the provided Postgres service in this Compose stack.
  • Keep secrets in local .env; do not commit it.

3. Start

As a daemon

docker compose up -d

In the terminal

docker compose up

4. Invite the bot to your server (replace with the same required APPLICATION_ID value)

https://discord.com/oauth2/authorize?client_id=<YOUR_APP_ID>&scope=bot%20applications.commands&permissions=134217728&integration_type=0

What's included

  • docker-compose.yml
    • bot: ghcr.io/nanashithenameless/namelessnamesanitizerbot:latest
    • db: postgres:18 with a healthcheck and a named volume (db)
    • default DATABASE_URL=postgresql://bot:bot@db:5432/bot
  • .env.example with sensible defaults and documentation

Notes:

  • Database storage persists in the named volume db by default. To bind-mount to the repo, uncomment the indicated line in docker-compose.yml.
  • Host timezone is mounted read-only via /etc/timezone and /etc/localtime.

Common operations

  • Update to the latest image:
docker compose pull
docker compose up -d
  • Stop the stack:
docker compose down

Permissions and intents

  • The bot needs "Manage Nicknames" to edit nicknames.
  • For automatic sweeps and joins, enable "Server Members Intent".

Troubleshooting (quick)

  • Commands not visible yet? Allow several minutes after first startup for global slash command sync, and ensure the application.commands scope.
  • Not changing nicknames? Confirm the bot has "Manage Nicknames," the role order is correct, and the sanitizer is enabled per guild.
  • Database not ready? Wait for the Postgres health check to pass; check logs and DATABASE_URL.

Security & privacy

See SECURITY.md in this repo and the policies on the project site:

  • The bot does not log message content and doesn't require the Message Content intent.
  • Logging channel (if set) only receives a short notice when a nickname is changed.
  • Minimal data storage: per-guild config and per-user cooldown timestamps. Cooldowns are purged automatically after COOLDOWN_TTL_SEC.
  • Users can request deletion via /delete-my-data; bot owners can execute /delete-user-data or /global-delete-user-data when legally required.

Public telemetry/census:

  • Aggregate, non-identifying census metrics are published at https://telemetry.namelessnanashi.dev/ for transparency. This data helps assess bot adoption (how many instances are running) and guide development priorities.

Related policies:

License & Credits

See LICENSE.md.

Note on contributions from AI

AI-generated pull requests are not accepted. All pull requests must be authored by a human, include a clear description of the changes, include tests or verification steps where applicable, and follow the project's contribution guidelines.

Support My Work

If this project is useful to you, you can support it here: