Add OpenSearch to docker setup for development (#509)
* add containers for OpenSearch * switch OpenSearch Dashboards to http * add script to take care of index/mapping on first run * limit mount in opensearch container to only the necessary scope * handle both docker and non-docker dev setups * cleanup * make opensearch work in docker dev --------- Co-authored-by: rleed <rleed1@pm.me> Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com> Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
This commit is contained in:
parent
8017355924
commit
2a7267a35a
@ -57,13 +57,18 @@ NOSTR_PRIVATE_KEY=<YOUR NOSTR PRIVATE KEY IN HEX>
|
|||||||
|
|
||||||
# static things
|
# static things
|
||||||
NEXTAUTH_URL=http://localhost:3000/api/auth
|
NEXTAUTH_URL=http://localhost:3000/api/auth
|
||||||
SELF_URL=http://localhost:3000
|
SELF_URL=http://app:3000
|
||||||
PUBLIC_URL=http://localhost:3000
|
PUBLIC_URL=http://localhost:3000
|
||||||
LND_CONNECT_ADDRESS=03cc1d0932bb99b0697f5b5e5961b83ab7fd66f1efc4c9f5c7bad66c1bcbe78f02@xhlmkj7mfrl6ejnczfwl2vqik3xim6wzmurc2vlyfoqw2sasaocgpuad.onion:9735
|
LND_CONNECT_ADDRESS=03cc1d0932bb99b0697f5b5e5961b83ab7fd66f1efc4c9f5c7bad66c1bcbe78f02@xhlmkj7mfrl6ejnczfwl2vqik3xim6wzmurc2vlyfoqw2sasaocgpuad.onion:9735
|
||||||
NEXTAUTH_SECRET=3_0W_PhDRZVanbeJsZZGIEljexkKoGbL6qGIqSwTjjI
|
NEXTAUTH_SECRET=3_0W_PhDRZVanbeJsZZGIEljexkKoGbL6qGIqSwTjjI
|
||||||
JWT_SIGNING_PRIVATE_KEY={"kty":"oct","kid":"FvD__hmeKoKHu2fKjUrWbRKfhjimIM4IKshyrJG4KSM","alg":"HS512","k":"3_0W_PhDRZVanbeJsZZGIEljexkKoGbL6qGIqSwTjjI"}
|
JWT_SIGNING_PRIVATE_KEY={"kty":"oct","kid":"FvD__hmeKoKHu2fKjUrWbRKfhjimIM4IKshyrJG4KSM","alg":"HS512","k":"3_0W_PhDRZVanbeJsZZGIEljexkKoGbL6qGIqSwTjjI"}
|
||||||
INVOICE_HMAC_KEY=a4c1d9c81edb87b79d28809876a18cf72293eadb39f92f3f4f2f1cfbdf907c91
|
INVOICE_HMAC_KEY=a4c1d9c81edb87b79d28809876a18cf72293eadb39f92f3f4f2f1cfbdf907c91
|
||||||
|
|
||||||
|
# OpenSearch
|
||||||
|
OPENSEARCH_URL=http://opensearch:9200
|
||||||
|
OPENSEARCH_USERNAME=
|
||||||
|
OPENSEARCH_PASSWORD=
|
||||||
|
|
||||||
# imgproxy options
|
# imgproxy options
|
||||||
IMGPROXY_ENABLE_WEBP_DETECTION=1
|
IMGPROXY_ENABLE_WEBP_DETECTION=1
|
||||||
IMGPROXY_MAX_ANIMATION_FRAMES=100
|
IMGPROXY_MAX_ANIMATION_FRAMES=100
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import os from '@opensearch-project/opensearch'
|
import os from '@opensearch-project/opensearch'
|
||||||
|
|
||||||
const options = process.env.NODE_ENV === 'development'
|
const options = process.env.NODE_ENV === 'development'
|
||||||
? { node: 'http://localhost:9200' }
|
? { node: process.env.OPENSEARCH_URL || 'http://localhost:9200' }
|
||||||
: {
|
: {
|
||||||
node: process.env.OPENSEARCH_URL,
|
node: process.env.OPENSEARCH_URL,
|
||||||
auth: {
|
auth: {
|
||||||
|
@ -31,6 +31,7 @@ services:
|
|||||||
- ./:/app
|
- ./:/app
|
||||||
links:
|
links:
|
||||||
- db
|
- db
|
||||||
|
- opensearch
|
||||||
worker:
|
worker:
|
||||||
container_name: worker
|
container_name: worker
|
||||||
build: ./worker
|
build: ./worker
|
||||||
@ -47,6 +48,8 @@ services:
|
|||||||
- ./:/app
|
- ./:/app
|
||||||
links:
|
links:
|
||||||
- db
|
- db
|
||||||
|
- app
|
||||||
|
- opensearch
|
||||||
entrypoint: ["/bin/sh", "-c"]
|
entrypoint: ["/bin/sh", "-c"]
|
||||||
command:
|
command:
|
||||||
- node worker/index.js
|
- node worker/index.js
|
||||||
@ -67,5 +70,46 @@ services:
|
|||||||
- "3001:8080"
|
- "3001:8080"
|
||||||
links:
|
links:
|
||||||
- app
|
- app
|
||||||
|
opensearch:
|
||||||
|
image: opensearchproject/opensearch:latest
|
||||||
|
container_name: opensearch
|
||||||
|
environment:
|
||||||
|
- discovery.type=single-node
|
||||||
|
- plugins.security.disabled=true
|
||||||
|
ports:
|
||||||
|
- 9200:9200 # REST API
|
||||||
|
- 9600:9600 # Performance Analyzer
|
||||||
|
volumes:
|
||||||
|
- os:/usr/share/opensearch/data
|
||||||
|
- ./:/app
|
||||||
|
command: >
|
||||||
|
bash -c '
|
||||||
|
set -m
|
||||||
|
/usr/share/opensearch/opensearch-docker-entrypoint.sh &
|
||||||
|
until curl -sS "http://localhost:9200/_cat/health?h=status" -ku admin:admin | grep -q "green\|yellow"; do
|
||||||
|
echo "Waiting for OpenSearch to start..."
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
echo "OpenSearch started."
|
||||||
|
curl -X PUT "http://localhost:9200/item" -ku admin:admin
|
||||||
|
echo "OpenSearch index created."
|
||||||
|
fg
|
||||||
|
'
|
||||||
|
os-dashboard:
|
||||||
|
image: opensearchproject/opensearch-dashboards:latest
|
||||||
|
container_name: os-dashboard
|
||||||
|
environment:
|
||||||
|
- opensearch.ssl.verificationMode=none
|
||||||
|
- server.ssl.enabled=false
|
||||||
|
- plugins.security.disabled=true
|
||||||
|
- DISABLE_SECURITY_DASHBOARDS_PLUGIN=true
|
||||||
|
- OPENSEARCH_HOSTS=http://opensearch:9200
|
||||||
|
ports:
|
||||||
|
- 5601:5601
|
||||||
|
expose:
|
||||||
|
- "5601"
|
||||||
|
links:
|
||||||
|
- opensearch
|
||||||
volumes:
|
volumes:
|
||||||
db:
|
db:
|
||||||
|
os:
|
||||||
|
@ -77,6 +77,7 @@ async function _indexItem (item) {
|
|||||||
|
|
||||||
export function indexItem ({ apollo }) {
|
export function indexItem ({ apollo }) {
|
||||||
return async function ({ data: { id } }) {
|
return async function ({ data: { id } }) {
|
||||||
|
console.log('indexing item, fetching ...', id)
|
||||||
// 1. grab item from database
|
// 1. grab item from database
|
||||||
// could use apollo to avoid duping logic
|
// could use apollo to avoid duping logic
|
||||||
// when grabbing sats and user name, etc
|
// when grabbing sats and user name, etc
|
||||||
|
Loading…
x
Reference in New Issue
Block a user