name: social-app-local services: redis: image: redis:7-alpine container_name: social-local-redis restart: unless-stopped ports: - "${SOCIAL_REDIS__PORT:-6379}:6379" volumes: - redis_data:/data environment: - REDIS_PASSWORD=${SOCIAL_REDIS__PASSWORD:-} command: > sh -c 'if [ -n "$$REDIS_PASSWORD" ]; then redis-server --appendonly yes --requirepass "$$REDIS_PASSWORD"; else redis-server --appendonly yes; fi' healthcheck: test: ["CMD", "sh", "-c", "if [ -n \"$$REDIS_PASSWORD\" ]; then redis-cli -a \"$$REDIS_PASSWORD\" ping; else redis-cli ping; fi"] interval: 5s timeout: 3s retries: 5 litellm-config-job: build: context: ../.. dockerfile: backend/Dockerfile image: social-local-backend container_name: social-local-litellm-config-job restart: "no" env_file: - ../../.env environment: - PYTHONPATH=/app/backend/src command: > uv run python backend/scripts/build_litellm_proxy_config.py --output /config/litellm-proxy-config.yaml volumes: - litellm_config:/config depends_on: redis: condition: service_healthy litellm: image: ghcr.io/berriai/litellm@sha256:b959a1816fa454a14d2842242d0fa1cd0d39f96fc94d3a1f4e1de4e48e2398c6 container_name: social-local-litellm restart: unless-stopped env_file: - ../../.env ports: - "${SOCIAL_LITELLM__PORT:-3875}:${SOCIAL_LITELLM__PORT:-3875}" volumes: - litellm_config:/config:ro command: [ "--config", "/config/litellm-proxy-config.yaml", "--host", "0.0.0.0", "--port", "${SOCIAL_LITELLM__PORT:-3875}", ] depends_on: redis: condition: service_healthy litellm-config-job: condition: service_completed_successfully init-job: build: context: ../.. dockerfile: backend/Dockerfile image: social-local-backend container_name: social-local-init-job restart: "no" environment: - PYTHONPATH=/app/backend/src - SOCIAL_DATABASE__HOST=${SOCIAL_DATABASE__HOST} - SOCIAL_DATABASE__PORT=${SOCIAL_DATABASE__PORT} - SOCIAL_DATABASE__NAME=${SOCIAL_DATABASE__NAME} - SOCIAL_DATABASE__USER=${SOCIAL_DATABASE__USER} - SOCIAL_DATABASE__PASSWORD=${SOCIAL_DATABASE__PASSWORD} - SOCIAL_REDIS__HOST=${SOCIAL_REDIS__HOST} - SOCIAL_REDIS__PORT=${SOCIAL_REDIS__PORT} - SOCIAL_REDIS__PASSWORD=${SOCIAL_REDIS__PASSWORD:-} - SOCIAL_RUNTIME__ENVIRONMENT=${SOCIAL_RUNTIME__ENVIRONMENT:-dev} depends_on: redis: condition: service_healthy working_dir: /app/backend command: uv run python -m core.runtime.cli bootstrap profiles: - job volumes: redis_data: litellm_config: