ppt-web / docker-compose-dev.yaml
26fwyzpz6f-max
Clean deploy without binary files
6aecb2e
Raw
History Blame Contribute Delete
3.41 kB
services:
landppt:
build:
context: .
dockerfile: Dockerfile
args:
- APT_DEBIAN_URL=${APT_DEBIAN_URL:-http://deb.debian.org/debian}
- APT_SECURITY_URL=${APT_SECURITY_URL:-http://deb.debian.org/debian-security}
image: landppt-dev:latest
container_name: landppt-dev
shm_size: '2gb'
ports:
- "8000:8000"
volumes:
- ./:/app
- landppt_data:/app/data
- landppt_uploads:/app/uploads
- landppt_reports:/app/research_reports
- landppt_cache:/app/temp
- landppt_lib:/app/lib
environment:
- PYTHONPATH=/opt/venv/lib/python3.11/site-packages:/app/src
- PYTHONUNBUFFERED=1
- WORKERS=${WORKERS:-1}
- RELOAD=${RELOAD:-true}
- HOST=${HOST:-0.0.0.0}
- PORT=${PORT:-8000}
- LOG_LEVEL=${LOG_LEVEL:-info}
- OPENAI_USE_RESPONSES_API=${OPENAI_USE_RESPONSES_API:-false}
- OPENAI_ENABLE_REASONING=${OPENAI_ENABLE_REASONING:-false}
- OPENAI_REASONING_EFFORT=${OPENAI_REASONING_EFFORT:-medium}
- SECRET_KEY=${SECRET_KEY:-your-secret-key-change-me}
- LANDPPT_API_KEY=${LANDPPT_API_KEY:-}
- LANDPPT_API_KEY_USER=${LANDPPT_API_KEY_USER:-admin}
- LANDPPT_API_KEYS=${LANDPPT_API_KEYS:-}
- LANDPPT_BOOTSTRAP_ADMIN_ENABLED=${LANDPPT_BOOTSTRAP_ADMIN_ENABLED:-false}
- LANDPPT_BOOTSTRAP_ADMIN_USERNAME=${LANDPPT_BOOTSTRAP_ADMIN_USERNAME:-}
- LANDPPT_BOOTSTRAP_ADMIN_PASSWORD=${LANDPPT_BOOTSTRAP_ADMIN_PASSWORD:-}
- LANDPPT_ENABLE_API_DOCS=${LANDPPT_ENABLE_API_DOCS:-true}
- LANDPPT_ALLOW_HEADER_SESSION_AUTH=${LANDPPT_ALLOW_HEADER_SESSION_AUTH:-false}
- DATABASE_URL=postgresql://${POSTGRES_USER:-landppt}:${POSTGRES_PASSWORD:-landppt}@postgres:5432/${POSTGRES_DB:-landppt}
- CACHE_BACKEND=valkey
- VALKEY_URL=valkey://valkey:${VALKEY_PORT:-6379}
depends_on:
postgres:
condition: service_healthy
valkey:
condition: service_started
restart: unless-stopped
healthcheck:
test: ["CMD", "/usr/local/bin/docker-healthcheck.sh"]
interval: 30s
timeout: 30s
retries: 3
start_period: 40s
networks:
- landppt_network
postgres:
image: postgres:16-alpine
container_name: landppt-postgres
ports:
- "5432:5432"
environment:
POSTGRES_DB: ${POSTGRES_DB:-landppt}
POSTGRES_USER: ${POSTGRES_USER:-landppt}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-landppt}
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-landppt} -d ${POSTGRES_DB:-landppt}"]
interval: 10s
timeout: 5s
retries: 5
networks:
- landppt_network
restart: unless-stopped
valkey:
image: valkey/valkey:8-alpine
container_name: landppt-valkey
command: valkey-server --appendonly yes
volumes:
- valkey_data:/data
healthcheck:
test: ["CMD", "valkey-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
networks:
- landppt_network
restart: unless-stopped
volumes:
landppt_data:
driver: local
landppt_uploads:
driver: local
landppt_reports:
driver: local
landppt_cache:
driver: local
landppt_lib:
driver: local
postgres_data:
driver: local
valkey_data:
driver: local
networks:
landppt_network:
driver: bridge