mirror of
https://github.com/chenasraf/venom.git
synced 2026-05-17 17:28:08 +00:00
52 lines
1.5 KiB
YAML
52 lines
1.5 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
mongo:
|
|
image: mongo:latest
|
|
container_name: venom-mongo
|
|
restart: unless-stopped
|
|
environment:
|
|
MONGO_INITDB_ROOT_USERNAME: venom
|
|
MONGO_INITDB_ROOT_PASSWORD: ${DB_PASS}
|
|
volumes:
|
|
- /root/apps/venom/data/db:/data/db
|
|
- /root/apps/venom/data/configdb:/data/configdb
|
|
networks:
|
|
- venom-network
|
|
healthcheck:
|
|
test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 30s
|
|
|
|
bot:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: venom-bot
|
|
restart: unless-stopped
|
|
depends_on:
|
|
mongo:
|
|
condition: service_healthy
|
|
environment:
|
|
# Private key for dotenvx decryption
|
|
DOTENV_PRIVATE_KEY_LOCAL: ${DOTENV_PRIVATE_KEY_LOCAL}
|
|
# Override MongoDB URI to use container hostname (password is URL-encoded)
|
|
MONGODB_URI: mongodb://venom:${DB_PASS_ENCODED}@mongo:27017/venom?authSource=admin&authMechanism=SCRAM-SHA-256
|
|
volumes:
|
|
# Mount source code and data (for development/hot-reload if needed)
|
|
- /root/apps/venom/data/brain.dat:/app/data/brain.dat
|
|
- /root/apps/venom/logs:/app/logs
|
|
# Mount env files for dotenvx
|
|
- /root/apps/venom/.env.local:/app/.env.local:ro
|
|
- /root/apps/venom/.env.keys:/app/.env.keys:ro
|
|
networks:
|
|
- venom-network
|
|
stop_signal: SIGINT
|
|
stop_grace_period: 30s
|
|
|
|
networks:
|
|
venom-network:
|
|
driver: bridge
|