+9
-19
docker-compose.yml
+9
-19
docker-compose.yml
···
23
23
depends_on:
24
24
- qdrant
25
25
- retina
26
-
environment:
27
-
- RETINA_HOST=http://retina:8080
28
-
- WEBSOCKET_HOST=wss://bsky.network
29
-
- QDRANT_HOST=qdrant
30
-
- QDRANT_PORT=6334
31
-
- QDRANT_COLLECTION=profile_blobs
32
-
- MAX_SEARCH_TIME=24h
33
-
- MAX_LIMIT=20
34
-
- SEEN_THRESHOLD=5
35
-
- MAX_HAMMING_DISTANCE=31
36
26
command:
37
-
- --retina-host=${RETINA_HOST}
38
-
- --websocket-host=${WEBSOCKET_HOST}
39
-
- --qdrant-host=${QDRANT_HOST}
40
-
- --qdrant-port=${QDRANT_PORT}
41
-
- --qdrant-collection=${QDRANT_COLLECTION}
42
-
- --max-search-time=${MAX_SEARCH_TIME}
43
-
- --max-limit=${MAX_LIMIT}
44
-
- --seen-threshold=${SEEN_THRESHOLD}
45
-
- --max-hamming-distance=${MAX_HAMMING_DISTANCE}
27
+
- --retina-host=http://retina:8080
28
+
- --websocket-host=wss://bsky.network
29
+
- --qdrant-host=qdrant
30
+
- --qdrant-port=6334
31
+
- --qdrant-collection=profile_blobs
32
+
- --max-search-time=24h
33
+
- --max-limit=20
34
+
- --seen-threshold=5
35
+
- --max-hamming-distance=31
46
36
restart: unless-stopped
47
37
48
38
volumes:
+3
-1
server/handleprofile.go
+3
-1
server/handleprofile.go
···
35
35
var bannerHash string
36
36
getHashResult := func(kind, cid string) {
37
37
logger := logger.With("kind", kind, "cid", cid)
38
-
hashResult, err := s.getImageHash(searchCtx, did, avatarCid)
38
+
hashResult, err := s.getImageHash(searchCtx, did, cid)
39
39
if err != nil {
40
40
logger.Error("failed to get hash result", "err", err)
41
41
return
···
175
175
}
176
176
})
177
177
}
178
+
179
+
wg.Wait()
178
180
179
181
// inserts can happen in a different goroutine so we don't block returning these results
180
182
go func() {
+2
-2
server/server.go
+2
-2
server/server.go
···
101
101
return nil, fmt.Errorf("failed to create flagged image collection timestamp index: %w", err)
102
102
}
103
103
104
-
args.Logger.Info("Successfully created flagged image vector collection in Milvus")
104
+
args.Logger.Info("Successfully created flagged image vector collection in Qdrant")
105
105
106
106
} else {
107
107
args.Logger.Info("collection already exists", "collection", args.QdrantColletion)
···
134
134
logger := s.logger.With("name", "Run")
135
135
136
136
wsDialer := websocket.DefaultDialer
137
-
u, err := url.Parse(s.websocketHost)
137
+
u, err := url.Parse(s.websocketHost + "/xrpc/com.atproto.sync.subscribeRepos")
138
138
if err != nil {
139
139
return fmt.Errorf("failed to parse websocket host: %w", err)
140
140
}