From ad753be7a5cfe843da55841a1729404aebafa9b8 Mon Sep 17 00:00:00 2001 From: Suriya Date: Wed, 1 Jul 2026 13:08:42 +0530 Subject: [PATCH] deploy: add Dockerfile and docker-compose for production --- Dockerfile | 16 +++++++++++++++ docker-compose.yml | 49 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2d40a68 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +FROM python:3.11-slim + +WORKDIR /app + +RUN apt-get update && apt-get install -y --no-install-recommends \ + gcc \ + && rm -rf /var/lib/apt/lists/* + +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt + +COPY . . + +RUN mkdir -p /app/logs + +CMD ["python", "main.py", "--production"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..48c7e39 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,49 @@ +version: "3.9" + +networks: + frontend: + external: true + +services: + doormile_agents: + build: + context: . + dockerfile: Dockerfile + image: doormile-agents:latest + container_name: doormile_agents + restart: unless-stopped + environment: + # NATS — event bus + - NATS_URL=${NATS_URL} + - NATS_USER=${NATS_USER} + - NATS_PASSWORD=${NATS_PASSWORD} + # Redis — GEO queries, miler presence + - REDIS_HOST=${REDIS_HOST} + - REDIS_PORT=${REDIS_PORT} + - REDIS_PASSWORD=${REDIS_PASSWORD} + # Postgres — booking history, outcome tracking + - DB_HOST=${DB_HOST} + - DB_PORT=${DB_PORT} + - DB_NAME=${DB_NAME} + - DB_USER=${DB_USER} + - DB_PASSWORD=${DB_PASSWORD} + # Go backend — internal API calls + - GO_API_BASE_URL=${GO_API_BASE_URL} + - INTERNAL_API_KEY=${INTERNAL_API_KEY} + # AI layer — decision engine + - AI_LAYER_BASE_URL=${AI_LAYER_BASE_URL} + - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} + # Logging + - LOG_LEVEL=${LOG_LEVEL:-INFO} + volumes: + - ./logs:/app/logs + networks: + - frontend + deploy: + resources: + limits: + cpus: "1.0" + memory: 512M + reservations: + cpus: "0.25" + memory: 128M