commit b660edc7d5dd6e956d1b46b57c208c15d3c28e55 Author: MrTuxedo Date: Tue May 9 14:37:17 2023 -0700 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9d26f8b --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.env +gooey-bot/ +gwei-alert-bot/ +metadat-analytics-bot/ \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..ca7d48b --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# Stateful Discord Bot Stack \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..a8c219d --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,65 @@ +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 + - 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 + # - 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: \ No newline at end of file