From 0de575edfc1e6d574a65857e26977ad6e48a28bd Mon Sep 17 00:00:00 2001 From: MrTuxedo Date: Tue, 9 May 2023 14:37:17 -0700 Subject: [PATCH] Initial commit --- .gitignore | 4 +++ README.md | 1 + docker-compose.yml | 66 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 docker-compose.yml 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..2efc2d1 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,66 @@ +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 + # - 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