old-automod/docker-compose.yml.example

103 lines
2.4 KiB
Plaintext

# Copy this file to `docker-compose.yml` and modify it to your liking.
# Copy `.env.example` to `.env` to configure environment variables.
version: "3.1"
services:
bot:
build:
context: .
dockerfile: ./bot/Dockerfile
environment:
- DB_HOST=mongo:27017
- DB_USERNAME=mogus
- DB_PASS
- DB_NAME=admin
- BOT_TOKEN
- BOT_OWNERS
- LOG_WEBHOOK
- NODE_ENV=production
- API_WS_URL=ws://api:9000/internal/ws
- API_WS_TOKEN=${INTERNAL_API_TOKEN}
- WEB_UI_URL=${PUBLIC_WEB_URL}
- BOT_PREFIX
- BOT_METRICS_PORT
- BOT_METRICS_MSG_PING_CHANNEL
- BOT_STATUS
- BOT_STATUS_INTERVAL
- API_URL
# Uncomment if you enabled Prometheus metrics
#ports:
# - 127.0.0.1:${BOT_METRICS_PORT}:${BOT_METRICS_PORT}
depends_on:
- mongo
- api
restart: unless-stopped
api:
build:
context: .
dockerfile: ./api/Dockerfile
environment:
- BOT_API_TOKEN=${INTERNAL_API_TOKEN}
- DB_HOST=mongo:27017
- DB_USERNAME=mogus
- DB_PASS
- DB_NAME=admin
- REDIS_URL
expose:
- 9000
ports:
- 0.0.0.0:9000:9000
restart: unless-stopped
bridge:
build:
context: .
dockerfile: ./bridge/Dockerfile
environment:
- REVOLT_TOKEN=${BOT_TOKEN}
- DISCORD_TOKEN=${BOT_TOKEN_DISCORD}
- DB_STRING=mongodb://mogus:${DB_PASS}@mongo:27017/admin
- NODE_ENV=production
- BRIDGE_METRICS_PORT
- REVOLT_API_URL=${API_URL}
- EMOJI_SERVERS=${BRIDGE_EMOJI_SERVERS}
# Uncomment if you enabled Prometheus metrics
#ports:
# - 127.0.0.1:${BRIDGE_METRICS_PORT}:${BRIDGE_METRICS_PORT}
restart: unless-stopped
depends_on:
- mongo
# If you prefer to host the web app on a different
# platform like Vercel, you can remove this part.
web:
build:
context: .
dockerfile: ./web/Dockerfile
args:
- VITE_API_URL=${PUBLIC_API_URL}
- VITE_BOT_PREFIX=${BOT_PREFIX}
ports:
- 0.0.0.0:8080:80
restart: unless-stopped
mongo:
image: mongo
environment:
- MONGO_INITDB_ROOT_USERNAME=mogus
- MONGO_INITDB_ROOT_PASSWORD=${DB_PASS}
expose:
- 27017
# If you want to access the database from outside
#ports:
# - "0.0.0.0:36602:27017"
volumes:
- ./db:/data/db:rw
restart: unless-stopped
redis:
image: eqalpha/keydb
restart: always