Files
mev-beta/Dockerfile
Krypto Kajun 8cba462024 feat(prod): complete production deployment with Podman containerization
- Migrate from Docker to Podman for enhanced security (rootless containers)
- Add production-ready Dockerfile with multi-stage builds
- Configure production environment with Arbitrum mainnet RPC endpoints
- Add comprehensive test coverage for core modules (exchanges, execution, profitability)
- Implement production audit and deployment documentation
- Update deployment scripts for production environment
- Add container runtime and health monitoring scripts
- Document RPC limitations and remediation strategies
- Implement token metadata caching and pool validation

This commit prepares the MEV bot for production deployment on Arbitrum
with full containerization, security hardening, and operational tooling.

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-08 10:15:22 -06:00

52 lines
981 B
Docker

# Dockerfile for MEV Bot
# Build stage
FROM golang:1.25-alpine AS builder
# Install build dependencies for CGO-enabled packages such as sqlite3
RUN apk add --no-cache git build-base
# Set working directory
WORKDIR /app
# Set Go environment
ENV GOCACHE=/go/cache
# Copy source code
COPY . .
# Build the application
ENV CGO_ENABLED=1
RUN go build -o bin/mev-bot cmd/mev-bot/main.go
# Final stage
FROM alpine:latest
# Install ca-certificates for HTTPS requests
RUN apk --no-cache add ca-certificates
# Create a non-root user
RUN adduser -D -s /bin/sh mevbot
# Set working directory
WORKDIR /app
# Copy the binary from builder stage
COPY --from=builder /app/bin/mev-bot .
# Copy config files
COPY --from=builder /app/config ./config
# Change ownership to non-root user
RUN chown -R mevbot:mevbot .
# Switch to non-root user
USER mevbot
# Expose port (if needed for any web interfaces)
EXPOSE 8080
# Command to run the application
ENTRYPOINT ["./mev-bot"]
CMD ["start"]