Change the configuration
Settings live in your installation’s deploy folder, ~/beatstash/deploy if you kept the installer’s default:
config.tomlholds the bot’s settings: addresses, paths, administrators, quotas, intervals;.envholds secrets and the choice of services.
Every key is described in the configuration reference, and the commented template is config.example.toml.
Change a setting
Section titled “Change a setting”The bot reads both files only at startup. Edit, then recreate its container:
cd ~/beatstash/deploynano config.toml # or any editordocker compose up -d --force-recreate botdocker compose logs --tail=50 botLook for bot_started in the log. If the bot exits right away, the log names the setting it rejected. It also rejects keys it doesn’t know, so compare spelling with the template.
Other changes need other services restarted:
| You changed | Run |
|---|---|
config.toml, or BOT_TOKEN, SECRET_KEY, NAVIDROME_PASSWORD in .env | docker compose up -d --force-recreate bot |
TELEGRAM_API_ID, TELEGRAM_API_HASH | docker compose up -d --force-recreate telegram-bot-api bot |
COMPOSE_PROFILES, COMPOSE_FILE, TELEGRAM_PROXY, or compose.yml | docker compose up -d |
Running the installer again in the same directory also works: it changes the answers it asks about and restarts what needs it.
Secrets go in .env
Section titled “Secrets go in .env”Keep passwords and tokens out of config.toml. The bot doesn’t read .env itself; Docker Compose passes it in. The application looks for config.toml in its working directory, or wherever CONFIG_FILE points; the deployment mounts deploy/config.toml as /app/config.toml.