version: '3.8' services: postgres: image: pgvector/pgvector:pg16 container_name: ims-postgres restart: unless-stopped ports: - "5432:5432" environment: POSTGRES_DB: ims POSTGRES_USER: ims POSTGRES_PASSWORD: ims123 volumes: - pgdata:/var/lib/postgresql/data - ./init-pgvector.sql:/docker-entrypoint-initdb.d/init-pgvector.sql healthcheck: test: ["CMD-SHELL", "pg_isready -U ims"] interval: 10s timeout: 5s retries: 5 redis: image: redis:7.4 container_name: ims-redis restart: unless-stopped ports: - "6379:6379" healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 minio: image: minio/minio container_name: ims-minio restart: unless-stopped ports: - "9000:9000" - "9001:9001" environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin MINIO_ROOT_USER_FILE: "" MINIO_ROOT_PASSWORD_FILE: "" MINIO_ACCESS_KEY_FILE: "" MINIO_SECRET_KEY_FILE: "" MINIO_KMS_SECRET_KEY_FILE: "" MINIO_UPDATE_MINISIGN_PUBKEY: "" MINIO_CONFIG_ENV_FILE: "" volumes: - minio_data:/data command: server /data --console-address ":9001" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 10s timeout: 5s retries: 5 ollama: image: ollama/ollama:latest container_name: ims-ollama ports: - "11434:11434" volumes: - ollama_data:/root/.ollama healthcheck: test: ["CMD", "ollama", "list"] interval: 30s timeout: 10s retries: 5 restart: unless-stopped volumes: pgdata: minio_data: ollama_data: