gorse Docker & Self-Hosted Deployment

GitHub

AI powered open source recommender system engine supports classical/LLM rankers and multimodal content via embedding

9,762 stars Go Go 1 file ยท ~13,036 tokens #collaborative-filtering#go#knn#machine-learning#recommender-system
RAW Compose
1. Pull Image (DOCKERHUB) docker pull library/redis
2. Docker Run (1-Click Launch) docker run -d --name gorse -p 6379:6379 --restart always redis:8
3. Podman Run podman run -d --name gorse -p 6379:6379 --restart always redis:8
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/library/redis:8
5. ORAS Pull (OCI Artifact) oras pull redis:8
6. Compose Deployment docker compose up -d
storage/docker-compose.yml
Download .yml
version: "3"
services:
  redis:
    image: redis:8
    ports:
      - 6379:6379

  mysql:
    image: mysql:8.0
    ports:
      - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: gorse
      MYSQL_USER: gorse
      MYSQL_PASSWORD: gorse_pass

  postgres:
    image: postgres:10.0
    ports:
      - 5432:5432
    environment:
      POSTGRES_USER: gorse
      POSTGRES_PASSWORD: gorse_pass

  mongo:
    image: mongo:6
    ports:
      - 27017:27017
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: password

  rustfs:
    image: rustfs/rustfs:alpha
    ports:
      - 9000:9000
    environment:
      RUSTFS_ACCESS_KEY: rustfsadmin
      RUSTFS_SECRET_KEY: rustfsadmin

  azurite:
    image: mcr.microsoft.com/azure-storage/azurite:3.34.0
    ports:
      - 10000:10000
    command: azurite-blob --blobHost 0.0.0.0 --blobPort 10000

  qdrant:
    image: qdrant/qdrant:latest
    ports:
      - 6333:6333
      - 6334:6334

  weaviate:
    image: cr.weaviate.io/semitechnologies/weaviate:1.35.7
    ports:
      - 8080:8080

  # Milvus
  etcd:
    image: quay.io/coreos/etcd:v3.5.25
    environment:
      - ETCD_AUTO_COMPACTION_MODE=revision
      - ETCD_AUTO_COMPACTION_RETENTION=1000
      - ETCD_QUOTA_BACKEND_BYTES=4294967296
      - ETCD_SNAPSHOT_COUNT=50000
    command: etcd -advertise-client-urls=http://etcd:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
    healthcheck:
      test: ["CMD", "etcdctl", "endpoint", "health"]
      interval: 30s
      timeout: 20s
      retries: 3

  milvus:
    image: milvusdb/milvus:v2.6.9
    command: ["milvus", "run", "standalone"]
    security_opt:
    - seccomp:unconfined
    environment:
      ETCD_ENDPOINTS: etcd:2379
      MINIO_ADDRESS: rustfs:9000
      MINIO_ACCESS_KEY_ID: rustfsadmin
      MINIO_SECRET_ACCESS_KEY: rustfsadmin
      MQ_TYPE: woodpecker
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
      interval: 30s
      start_period: 90s
      timeout: 20s
      retries: 3
    ports:
      - 19530:19530
      - 9091:9091
    depends_on:
      - etcd
      - rustfs