84 lines
2 KiB
Text
84 lines
2 KiB
Text
# 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: ./bot
|
|
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
|
|
# 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: ./api
|
|
environment:
|
|
- BOT_API_TOKEN=${INTERNAL_API_TOKEN}
|
|
- DB_HOST=mongo:27017
|
|
- DB_USERNAME=mogus
|
|
- DB_PASS
|
|
- DB_NAME=admin
|
|
expose:
|
|
- 9000
|
|
ports:
|
|
- 0.0.0.0:9000:9000
|
|
restart: unless-stopped
|
|
|
|
bridge:
|
|
build: ./bridge
|
|
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
|
|
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: ./web
|
|
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
|