version: '3' services: # Redis used to persist state bot-redis: image: redis container_name: bot-redis restart: always volumes: - bot-redisdb:/data command: redis-server --save 300 1 --appendonly yes environment: - REDIS_REPLICATION_MODE=master - REDIS_APPENDONLY=yes - REDIS_SAVE=300 1 # Ethereum gas price tracking bot gwei-alert-bot: depends_on: - bot-redis build: ./gwei-alert-bot container_name: gwei-alert-bot dns: - 1.1.1.1 environment: - NODE_ENV=production - REDIS_URL=redis://bot-redis:6379 - DISCORD_BOT_TOKEN=${ALERT_BOT_DISCORD_TOKEN} - DISCORD_CLIENT=${ALERT_BOT_DISCORD_CLIENT} - RPC_URL restart: unless-stopped # Metadata analytics bot gooeylytics: depends_on: - bot-redis build: ./metadata-analytics-bot container_name: gooeylytics dns: - 1.1.1.1 environment: - NODE_ENV=production - REDIS_URL=redis://bot-redis:6379 - DISCORD_TOKEN=${GOOEYLYTICS_DISCORD_TOKEN} - DISCORD_CLIENT=${GOOEYLYTICS_DISCORD_CLIENT} - ALCHEMY_API_KEY restart: unless-stopped # User token inventory bot gooey-bot: depends_on: - bot-redis build: ./gooey-bot container_name: gooey-bot environment: - NODE_ENV=production - REDIS_URL=redis://bot-redis:6379 - TOKEN=${GOOEY_BOT_DISCORD_TOKEN} - APP_ID=${GOOEY_BOT_DISCORD_APP_ID} - GUILD_ID=${GOOEY_BOT_GUILD_ID} - ALCHEMY_ID=${ALCHEMY_API_KEY} restart: unless-stopped volumes: bot-redisdb: