Files
ermnvldmr.com/services/docs/content/en/quetza/guides/deployment.md
T

78 lines
1.9 KiB
Markdown

---
title: Deployment & Operations
weight: 2
---
**Goal:** Configure, deploy, and monitor a Quetza bot instance.
## 1. Environment Preparation
Quetza relies on environment variables for configuration. **Never** commit these to version control.
| Variable | Description | Required |
| :-------------- | :-------------------------------------------- | :------- |
| `DISCORD_TOKEN` | Bot token from Discord Developer Portal | **Yes** |
| `CLIENT_ID` | Application ID for slash command registration | **Yes** |
| `LLAMA_API_KEY` | Required if using the AI module | No |
## 2. Deployment Strategies
{{< tabs >}}
{{< tab name="Docker (Recommended)" >}}
**Docker** ensures a consistent runtime environment.
1. **Build** the image:
```bash
docker build -t quetza-bot .
```
2. **Run** the container:
`bash
docker run -d \
--env-file .env \
--name quetza \
quetza-bot
`
{{< /tab >}}
{{< tab name="Source" >}}
**Source** deployment is useful for development.
3. **Install** dependencies:
```bash
pnpm install
```
4. **Build** the project:
```bash
pnpm build
```
5. **Start** the bot:
`bash
pnpm start
`
{{< /tab >}}
{{< /tabs >}}
## 3. Operational Monitoring
Once running, use these mechanisms to check health:
- **Logs:** Check standard output (Docker logs) for initialization errors.
- **`/ping` Command:** Verifies network latency and API responsiveness.
- **`/modules` Command:** Lists all loaded modules to confirm feature availability.
> [!WARNING]
> **Scaling Constraint:**
> Quetza follows a single-instance-per-token model. Do not run multiple instances with the same token, as this will cause WebSocket conflicts.
---
**See also:**
- [Docker Documentation](https://docs.docker.com/)
- [Discord Developer Portal](https://discord.com/developers/applications)