🪢 Added elasticsearch to the docker-compose stack
This commit is contained in:
@@ -158,6 +158,61 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "6379:6379"
|
- "6379:6379"
|
||||||
|
|
||||||
|
elasticsearch:
|
||||||
|
image: docker.elastic.co/elasticsearch/elasticsearch:{version}
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- "discovery.type=single-node"
|
||||||
|
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
|
||||||
|
- "xpack.security.enabled=true"
|
||||||
|
- "xpack.security.authc.api_key.enabled=true"
|
||||||
|
- "ELASTIC_PASSWORD=changeme"
|
||||||
|
ulimits:
|
||||||
|
memlock:
|
||||||
|
soft: -1
|
||||||
|
hard: -1
|
||||||
|
volumes:
|
||||||
|
- elasticsearch:/usr/share/elasticsearch/data
|
||||||
|
ports:
|
||||||
|
- 127.0.0.1:9200:9200
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
|
||||||
|
ent-search:
|
||||||
|
image: docker.elastic.co/enterprise-search/enterprise-search:{version}
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- "elasticsearch"
|
||||||
|
environment:
|
||||||
|
- "JAVA_OPTS=-Xms512m -Xmx512m"
|
||||||
|
- "ENT_SEARCH_DEFAULT_PASSWORD=changeme"
|
||||||
|
- "elasticsearch.username=elastic"
|
||||||
|
- "elasticsearch.password=changeme"
|
||||||
|
- "elasticsearch.host=http://elasticsearch:9200"
|
||||||
|
- "allow_es_settings_modification=true"
|
||||||
|
- "secret_management.encryption_keys=[4a2cd3f81d39bf28738c10db0ca782095ffac07279561809eecc722e0c20eb09]"
|
||||||
|
- "elasticsearch.startup_retry.interval=15"
|
||||||
|
ports:
|
||||||
|
- 127.0.0.1:3002:3002
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
|
||||||
|
kibana:
|
||||||
|
image: docker.elastic.co/kibana/kibana:{version}
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- "elasticsearch"
|
||||||
|
- "ent-search"
|
||||||
|
ports:
|
||||||
|
- 127.0.0.1:5601:5601
|
||||||
|
environment:
|
||||||
|
ELASTICSEARCH_HOSTS: http://elasticsearch:9200
|
||||||
|
ENTERPRISESEARCH_HOST: http://ent-search:3002
|
||||||
|
ELASTICSEARCH_USERNAME: elastic
|
||||||
|
ELASTICSEARCH_PASSWORD: changeme
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
|
||||||
traefik:
|
traefik:
|
||||||
image: traefik:2.3.4
|
image: traefik:2.3.4
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@@ -191,4 +246,6 @@ networks:
|
|||||||
volumes:
|
volumes:
|
||||||
mongodb_data:
|
mongodb_data:
|
||||||
driver: local
|
driver: local
|
||||||
|
elasticsearch:
|
||||||
|
driver: local
|
||||||
|
|
||||||
|
|||||||
42
src/client/components/AirDCPPConnectionForm.tsx
Normal file
42
src/client/components/AirDCPPConnectionForm.tsx
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
import React, { ReactElement } from "react";
|
||||||
|
import { Form, Field } from "react-final-form";
|
||||||
|
|
||||||
|
export const AirDCPPConnectionForm = (): ReactElement => {
|
||||||
|
const onSubmit = () => {};
|
||||||
|
const validate = async () => {};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Form
|
||||||
|
onSubmit={onSubmit}
|
||||||
|
validate={validate}
|
||||||
|
render={({ handleSubmit }) => (
|
||||||
|
<form onSubmit={handleSubmit}>
|
||||||
|
<p>
|
||||||
|
<h3 className="title">AirDC++ Connection Settings</h3>
|
||||||
|
<h6 className="subtitle has-text-grey-light">
|
||||||
|
Configure AirDC++ connection settings such as hostname and
|
||||||
|
credentials
|
||||||
|
</h6>
|
||||||
|
</p>
|
||||||
|
<div className="field">
|
||||||
|
<label className="label">AirDC++ Host</label>
|
||||||
|
<div className="control">
|
||||||
|
<Field
|
||||||
|
name="airdcpp_hostname"
|
||||||
|
component="input"
|
||||||
|
className="input"
|
||||||
|
placeholder="adc://hub.url"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button type="submit" className="button is-primary">
|
||||||
|
Submit
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
)}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default AirDCPPConnectionForm;
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
import React, { useState, useEffect, useCallback, ReactElement } from "react";
|
import React, { useState, useEffect, useCallback, ReactElement } from "react";
|
||||||
import { AirDCPPSettingsForm } from "./AirDCPPSettingsForm";
|
import { AirDCPPSettingsForm } from "./AirDCPPSettingsForm";
|
||||||
|
import { AirDCPPConnectionForm } from "./AirDCPPConnectionForm";
|
||||||
import settingsObject from "../constants/settings/settingsMenu.json";
|
import settingsObject from "../constants/settings/settingsMenu.json";
|
||||||
import { isUndefined, map } from "lodash";
|
import { isUndefined, map } from "lodash";
|
||||||
|
|
||||||
@@ -12,15 +13,7 @@ export const Settings = (props: ISettingsProps): ReactElement => {
|
|||||||
id: "adc-connection",
|
id: "adc-connection",
|
||||||
content: (
|
content: (
|
||||||
<>
|
<>
|
||||||
<div className="content">
|
<AirDCPPConnectionForm />
|
||||||
<p>
|
|
||||||
<h3 className="title">AirDC++ Connection Settings</h3>
|
|
||||||
<h6 className="subtitle has-text-grey-light">
|
|
||||||
Configure AirDC++ connection settings such as hostname and
|
|
||||||
credentials
|
|
||||||
</h6>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</>
|
</>
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user