@@ -68,8 +68,50 @@ Canis supports multiple AI providers out of the box:
6868
6969 ``` sh
7070 cp .env.example .env
71- # Configure your AI Provider, models and other necessary preferences.
7271 ```
72+ Then configure the following:
73+ | Variable | Required | Description | Default / Example |
74+ | ----------------------------- | -------- | -------------------------------------------------- | ------------------------------------------- |
75+ | ` PROJECT_CANIS_ALIAS ` | ❌ | Your bot's name | ` Canis ` |
76+ | ` PROJECT_AUTO_RESTART ` | ❌ | Auto-reboot the bot on memory leaks or high usage | ` false ` |
77+ | ` PROJECT_THRESHOLD_MEMORY ` | ❌ | Memory (MB) threshold to consider restarting | ` 1024 ` |
78+ | ` PROJECT_MAX_MEMORY ` | ❌ | Max memory (MB) before forceful restart | ` 2048 ` (2GB) |
79+ | ` PROJECT_AUTO_DOWNLOAD_MEDIA ` | ❌ | Whether the bot auto-downloads media | ` true ` |
80+ | ` PROJECT_MAX_DOWNLOAD_MEDIA ` | ❌ | Max size of downloadable media (MB) | ` 25 ` |
81+ | ` P_QUEUE_CONCURRENCY_COUNT ` | ❌ | Concurrency level for processing queue | ` 2 ` |
82+ | ` PHISHTANK_ENABLE ` | ❌ | Enable PhishTank integration | ` true ` |
83+ | ` PHISHTANK_UPDATE_HOUR ` | ❌ | Hour to run daily update (UTC) | ` 3 ` |
84+ | ` PHISHTANK_AUTO_UPDATE ` | ❌ | Automatically update PhishTank data | ` true ` |
85+ | ` SENTRY_DNS ` | ❌ | Sentry DSN for error tracking | |
86+ | ` DEBUG ` | ❌ | Enable debug mode for extra logging | ` true ` |
87+ | ` COMMAND_PREFIX ` | ❌ | The command prefix used by the bot | ` ! ` |
88+ | ` COMMAND_PREFIX_LESS ` | ❌ | Allow commands without prefix | ` true ` |
89+ | ` PORT ` | ✅ | Port for running the server | ` 3000 ` |
90+ | ` PUPPETEER_EXEC_PATH ` | ❌ | Path to Chrome/Edge/Brave/Firefox for Puppeteer | ` /opt/google/chrome/google-chrome ` |
91+ | ` AUTO_RELOAD ` | ❌ | Reload command files automatically when edited | ` false ` |
92+ | ` DATABASE_URL ` | ✅ | MySQL database connection URL | ` mysql://root@127.0.0.1:3306/project_canis ` |
93+ | ` REDIS_URL ` | ✅ | Redis connection URL | ` redis://127.0.0.1:6379 ` |
94+ | ` AI_PROVIDER ` | ❌ | Preferred AI provider (` groq ` , ` openrouter ` , etc.) | ` groq ` |
95+ | ` OPEN_ROUTER_API_KEY ` | ❌ | API key for OpenRouter | |
96+ | ` OPEN_ROUTER_MODEL ` | ❌ | OpenRouter model to use | ` moonshotai/kimi-k2:free ` |
97+ | ` GROQ_API_KEY ` | ❌ | API key for Groq | |
98+ | ` GROQ_MODEL ` | ❌ | Groq model to use | ` meta-llama/llama-4-scout-17b-16e-instruct ` |
99+ | ` GEMINI_API_KEY ` | ❌ | API key for Gemini | |
100+ | ` GEMINI_MODEL ` | ❌ | Gemini model to use | ` gemini-2.0-flash-001 ` |
101+ | ` OPENAI_API_KEY ` | ❌ | API key for OpenAI | |
102+ | ` OPENAI_MODEL ` | ❌ | OpenAI model to use | ` gpt-4o ` |
103+ | ` OLLAMA_MODEL ` | ❌ | Model to use with Ollama | ` llama3.1 ` |
104+ | ` ALLOW_QUERY_CACHING ` | ❌ | Whether to cache AI responses | ` true ` |
105+ | ` QUERY_CACHING_COUNT ` | ❌ | Number of cached queries | ` 1000 ` |
106+ | ` QUERY_CACHING_TTL ` | ❌ | Time (seconds) to cache queries | ` 3600 ` |
107+ | ` EXEC_SHELL ` | ❌ | Shell used to run commands | ` /bin/bash ` |
108+ | ` WAKATIME_API_KEY ` | ❌ | Wakatime API key (for usage analytics) | |
109+ | ` AXIOS_MAX_RETRY ` | ❌ | Number of retries Axios should attempt on failure | ` 3 ` |
110+ | ` AXIOS_USER_AGENT ` | ❌ | User-Agent string used by Axios requests | ` Canis/11.0.0 ` |
111+ | ` AXIOS_TIMEOUT ` | ❌ | Axios request timeout in milliseconds | ` 30000 ` |
112+ | ` AXIOS_ORIGIN ` | ❌ | Optional origin header for Axios | |
113+ | ` AXIOS_HOST ` | ❌ | Optional host header for Axios | |
114+
73115
741164 . ** Run Migration**
75117
0 commit comments