deploy: add Dockerfile and docker-compose for production
This commit is contained in:
16
Dockerfile
Normal file
16
Dockerfile
Normal file
@@ -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"]
|
||||||
49
docker-compose.yml
Normal file
49
docker-compose.yml
Normal file
@@ -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
|
||||||
Reference in New Issue
Block a user