1version: "3.9"
2services:
3 opensearch:
4 container_name: opensearch
5 build:
6 context: ../../
7 dockerfile: cmd/palomar/Dockerfile.opensearch
8 ports:
9 - "9200:9200"
10 - "9600:9600"
11 environment:
12 - "discovery.type=single-node"
13 - "cluster.name=opensearch-palomar"
14 - "plugins.security.disabled=true"
15 - "bootstrap.memory_lock=true" # Disable JVM heap memory swapping
16 - "OPENSEARCH_JAVA_OPTS=-Xms4096m -Xmx4096m" # Set min and max JVM heap sizes to at least 50% of system RAM
17 - "OPENSEARCH_INITIAL_ADMIN_PASSWORD=0penSearch-Pal0mar"
18 ulimits:
19 memlock:
20 soft: -1
21 hard: -1
22 nofile:
23 soft: 65536
24 hard: 65536
25 volumes:
26 - type: bind
27 source: ../../data/opensearch
28 target: /usr/share/opensearch/data
29 indexer:
30 container_name: indexer
31 build:
32 context: ../../
33 dockerfile: cmd/palomar/Dockerfile
34 environment:
35 - "GOLOG_LOG_LEVEL=info"
36 - "ATP_PLC_HOST=https://plc.directory"
37 - "ATP_BGS_HOST=wss://bsky.network"
38 - "ELASTIC_HOSTS=http://opensearch:9200"
39 - "ES_INSECURE_SSL=true"
40 - "ENVIRONMENT=dev"
41 - "ES_POST_INDEX=palomar_post_dev"
42 - "ES_PROFILE_INDEX=palomar_profile_dev"
43 - "PALOMAR_DISCOVER_REPOS=false"
44 - "PALOMAR_BGS_SYNC_RATE_LIMIT=20"
45 - "PALOMAR_INDEX_MAX_CONCURRENCY=5"
46 - "DATABASE_URL=sqlite:///data/palomar/search.db"
47 - "PALOMAR_BIND=:3997"
48 - "PALOMAR_METRICS_LISTEN=:3996"
49 depends_on:
50 - opensearch
51 ports:
52 - "3997:3997"
53 - "3996:3996"
54 volumes:
55 - type: bind
56 source: ../../data
57 target: /data
58 # pagerank:
59 # container_name: pagerank
60 # build:
61 # context: ../../
62 # dockerfile: cmd/palomar/Dockerfile
63 # environment:
64 # - "GOLOG_LOG_LEVEL=info"
65 # - "ATP_PLC_HOST=https://plc.directory"
66 # - "ATP_BGS_HOST=wss://bsky.network"
67 # - "ELASTIC_HOSTS=http://opensearch:9200"
68 # - "ES_INSECURE_SSL=true"
69 # - "ENVIRONMENT=dev"
70 # - "ES_POST_INDEX=palomar_post_dev"
71 # - "ES_PROFILE_INDEX=palomar_profile_dev"
72 # - "PALOMAR_DISCOVER_REPOS=false"
73 # - "PALOMAR_BGS_SYNC_RATE_LIMIT=20"
74 # - "PALOMAR_INDEX_MAX_CONCURRENCY=5"
75 # - "DATABASE_URL=sqlite:///data/palomar/pagerank.db"
76 # - "PAGERANK_FILE=/data/palomar/pageranks.csv"
77 # depends_on:
78 # - opensearch
79 # volumes:
80 # - type: bind
81 # source: ../../data
82 # target: /data
83 api:
84 container_name: api
85 build:
86 context: ../../
87 dockerfile: cmd/palomar/Dockerfile
88 ports:
89 - "3999:3999"
90 - "3998:3998"
91 environment:
92 - "GOLOG_LOG_LEVEL=info"
93 - "ATP_PLC_HOST=https://plc.directory"
94 - "ATP_BGS_HOST=wss://bsky.network"
95 - "ELASTIC_HOSTS=http://opensearch:9200"
96 - "ES_INSECURE_SSL=true"
97 - "ENVIRONMENT=dev"
98 - "ES_POST_INDEX=palomar_post_dev"
99 - "ES_PROFILE_INDEX=palomar_profile_dev"
100 - "DATABASE_URL=sqlite:///data/palomar/search.db"
101 - "PALOMAR_READONLY=true"
102 volumes:
103 - type: bind
104 source: ../../data
105 target: /data
106 opensearch-dashboards:
107 build:
108 context: ../../
109 dockerfile: cmd/palomar/Dockerfile.opensearch-dashboards
110 container_name: opensearch-dashboards
111 ports:
112 - 5601:5601
113 environment:
114 OPENSEARCH_HOSTS: '["http://opensearch:9200"]'
115networks:
116 default: