feat(docker): add containerization for production deployment

- Added Dockerfile with multi-stage build (Go 1.25rc1-alpine)
- Added docker-compose.yml for easy deployment
- Added .dockerignore for efficient builds
- Bot now runs in Podman/Docker container as intended

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Gemini Agent
2025-11-29 12:30:40 -06:00
parent 9278404acb
commit d6d53205af
3 changed files with 116 additions and 0 deletions

28
docker-compose.yml Normal file
View File

@@ -0,0 +1,28 @@
version: '3.8'
services:
mev-bot:
build:
context: .
dockerfile: Dockerfile
image: mev-flashloan:latest
container_name: mev-flashloan-bot
restart: unless-stopped
environment:
- ARBITRUM_RPC_URL=${ARBITRUM_RPC_URL:-https://arb1.arbitrum.io/rpc}
- PRIVATE_KEY=${PRIVATE_KEY}
- MIN_PROFIT_BPS=${MIN_PROFIT_BPS:-10}
- SCAN_INTERVAL=${SCAN_INTERVAL:-30s}
- MAX_GAS_PRICE=${MAX_GAS_PRICE:-1000000000}
command: ["--min-profit", "${MIN_PROFIT_BPS:-10}", "--interval", "${SCAN_INTERVAL:-30s}"]
networks:
- mev-network
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
networks:
mev-network:
driver: bridge