mirror of
https://dev.azure.com/tstanciu94/PhantomMind/_git/Bitip
synced 2025-10-13 01:52:19 +03:00
78 lines
1.7 KiB
YAML
78 lines
1.7 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# GeoIP database updater
|
|
geoipupdate:
|
|
image: maxmindinc/geoipupdate:latest
|
|
restart: unless-stopped
|
|
environment:
|
|
- GEOIPUPDATE_ACCOUNT_ID=${GEOIPUPDATE_ACCOUNT_ID}
|
|
- GEOIPUPDATE_LICENSE_KEY=${GEOIPUPDATE_LICENSE_KEY}
|
|
- GEOIPUPDATE_EDITION_IDS=GeoLite2-City,GeoLite2-Country
|
|
- GEOIPUPDATE_FREQUENCY=168 # Update weekly (in hours)
|
|
volumes:
|
|
- geoip_data:/usr/share/maxmind
|
|
networks:
|
|
- bitip-network
|
|
|
|
# Bitip GeoIP Service
|
|
bitip:
|
|
build: .
|
|
restart: unless-stopped
|
|
ports:
|
|
- '5172:5172'
|
|
environment:
|
|
# Server Configuration
|
|
- PORT=5172
|
|
- BASE_PATH=/
|
|
- NODE_ENV=production
|
|
|
|
# MaxMind Database Path
|
|
- MAXMIND_DB_PATH=/usr/share/maxmind
|
|
|
|
# API Keys (Change these in production!)
|
|
- FRONTEND_API_KEY=your-frontend-api-key-here
|
|
- EXTERNAL_API_KEYS=your-external-api-key-1,your-external-api-key-2
|
|
|
|
# Rate Limiting
|
|
- FRONTEND_RATE_WINDOW_MS=60000
|
|
- FRONTEND_RATE_MAX=30
|
|
- EXTERNAL_RATE_WINDOW_MS=60000
|
|
- EXTERNAL_RATE_MAX=1000
|
|
|
|
# Batch Configuration
|
|
- BATCH_LIMIT=100
|
|
- DEBOUNCE_MS=2000
|
|
|
|
# Seq Logging (optional)
|
|
- SEQ_URL=${SEQ_URL}
|
|
- SEQ_API_KEY=${SEQ_API_KEY}
|
|
volumes:
|
|
- geoip_data:/usr/share/maxmind:ro
|
|
depends_on:
|
|
- geoipupdate
|
|
networks:
|
|
- bitip-network
|
|
healthcheck:
|
|
test:
|
|
[
|
|
'CMD',
|
|
'wget',
|
|
'--no-verbose',
|
|
'--tries=1',
|
|
'--spider',
|
|
'http://localhost:5172/api/health',
|
|
]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
|
|
volumes:
|
|
geoip_data:
|
|
driver: local
|
|
|
|
networks:
|
|
bitip-network:
|
|
driver: bridge
|