Shared Config¶
.env & .env.example¶
Rename .env.example
to .env
and update the ??? values.
# USER CONFIG
# ------------------------------------------------------------------------------
# Required.
DISCORD_TOKEN=???
# (Optional) OpenAI API key for AI middleware.
OPENAI_KEY=???
# SYSTEM CONFIG
# ------------------------------------------------------------------------------
# REDIS
REDIS_HOST=redis
REDIS_PORT=6379
docker-compose.yml¶
services:
redis:
image: redis/redis-stack-server
container_name: pbot-redis
ports:
- '6379:6379'
# platform: linux/arm64
volumes:
- redis_data:/data
networks:
- backend
redis-insight:
image: redis/redisinsight:latest
container_name: pbot-redis-insight
ports:
- '5540:5540'
# platform: linux/arm64
depends_on:
- redis
networks:
- frontend
- backend
volumes:
- redis_insight:/data
bot:
container_name: pbot-bot
build:
context: ../
dockerfile: services/bot/Dockerfile
volumes:
- ../services/bot/src:/src
depends_on:
- redis
networks:
- backend
environment:
- OPENAI_KEY=${OPENAI_KEY}
- REDIS_HOST=${REDIS_HOST}
- REDIS_PORT=${REDIS_PORT}
transceiver:
container_name: pbot-transceiver
build:
context: ../
dockerfile: services/transceiver/Dockerfile
volumes:
- ../services/transceiver/src:/src
depends_on:
- redis
networks:
- backend
environment:
- DISCORD_TOKEN=${DISCORD_TOKEN}
- REDIS_HOST=${REDIS_HOST}
- REDIS_PORT=${REDIS_PORT}
- REDIS_KEY_RESPONSES=${REDIS_KEY_RESPONSES}
- REDIS_KEY_RESPONSE_PREFIX=${REDIS_KEY_RESPONSE_PREFIX}
- TRANSCEIVER_LOG_FILENAME=${TRANSCEIVER_LOG_FILENAME}
- TRANSCEIVER_RESPONSE_DELAY=${TRANSCEIVER_RESPONSE_DELAY}
volumes:
redis_data:
redis_insight:
networks:
backend:
frontend: