feat(docker): Added elasticsearch and kibana, need ssl cert and logstash
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
This commit is contained in:
@@ -2,14 +2,17 @@ docker:
|
|||||||
url: "https://download.docker.com/linux"
|
url: "https://download.docker.com/linux"
|
||||||
apt_release_channel: "stable"
|
apt_release_channel: "stable"
|
||||||
directories:
|
directories:
|
||||||
opt: "/opt/docker/"
|
config: "/opt/docker/config/"
|
||||||
compose: "/opt/docker/compose"
|
compose: "/opt/docker/compose/"
|
||||||
|
media: "/media/docker/data/"
|
||||||
|
|
||||||
caddy:
|
caddy:
|
||||||
admin_email: me+acme@tudattr.dev
|
admin_email: me+acme@tudattr.dev
|
||||||
|
|
||||||
domain: "seyshiro.de"
|
domain: "seyshiro.de"
|
||||||
|
|
||||||
|
elk_version: 8.17.0
|
||||||
|
|
||||||
services:
|
services:
|
||||||
- name: syncthing
|
- name: syncthing
|
||||||
vm:
|
vm:
|
||||||
@@ -121,7 +124,7 @@ services:
|
|||||||
external: /opt/local/jellyfin/config
|
external: /opt/local/jellyfin/config
|
||||||
- name: "Cache"
|
- name: "Cache"
|
||||||
internal: /cache
|
internal: /cache
|
||||||
external: /opt/docker/config/jellyfin/cache
|
external: "{{ docker.directories.config }}/jellyfin/cache"
|
||||||
- name: "Tv Series"
|
- name: "Tv Series"
|
||||||
internal: /tv:ro
|
internal: /tv:ro
|
||||||
external: /media/series
|
external: /media/series
|
||||||
@@ -176,7 +179,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- name: "Configuration"
|
- name: "Configuration"
|
||||||
internal: /updater/data/"
|
internal: /updater/data/"
|
||||||
external: /opt/docker/config/ddns-updater/data/
|
external: "{{ docker.directories.config }}/ddns-updater/data/"
|
||||||
ports:
|
ports:
|
||||||
- name: "http"
|
- name: "http"
|
||||||
internal: 8000
|
internal: 8000
|
||||||
@@ -355,7 +358,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- name: "Data"
|
- name: "Data"
|
||||||
internal: /datastore
|
internal: /datastore
|
||||||
external: /opt/docker/config/changedetection/data/
|
external: "{{ docker.directories.config }}/changedetection/data/"
|
||||||
ports:
|
ports:
|
||||||
- name: "http"
|
- name: "http"
|
||||||
internal: 5000
|
internal: 5000
|
||||||
@@ -375,7 +378,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- name: "Configuration"
|
- name: "Configuration"
|
||||||
internal: /gluetun
|
internal: /gluetun
|
||||||
external: /opt/docker/config/gluetun/config
|
external: "{{ docker.directories.config }}/gluetun/config"
|
||||||
ports:
|
ports:
|
||||||
- name: "Qbit Client"
|
- name: "Qbit Client"
|
||||||
internal: 8082
|
internal: 8082
|
||||||
@@ -405,7 +408,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- name: "Configuration"
|
- name: "Configuration"
|
||||||
internal: /config
|
internal: /config
|
||||||
external: /opt/docker/config/torrentleech/config
|
external: "{{ docker.directories.config }}/torrentleech/config"
|
||||||
- name: "Downloads"
|
- name: "Downloads"
|
||||||
internal: /downloads
|
internal: /downloads
|
||||||
external: /media/docker/data/arr_downloads
|
external: /media/docker/data/arr_downloads
|
||||||
@@ -431,7 +434,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- name: "Configuration"
|
- name: "Configuration"
|
||||||
internal: /config
|
internal: /config
|
||||||
external: /opt/docker/config/qbit/config
|
external: "{{ docker.directories.config }}/qbit/config"
|
||||||
- name: "Downloads"
|
- name: "Downloads"
|
||||||
internal: /downloads
|
internal: /downloads
|
||||||
external: /media/docker/data/arr_downloads
|
external: /media/docker/data/arr_downloads
|
||||||
@@ -470,79 +473,60 @@ services:
|
|||||||
- name: "Docker"
|
- name: "Docker"
|
||||||
internal: /var/lib/docker:ro
|
internal: /var/lib/docker:ro
|
||||||
external: /var/lib/docker
|
external: /var/lib/docker
|
||||||
# - name: template
|
- name: elasticsearch
|
||||||
# vm:
|
vm:
|
||||||
# -
|
- docker-host01
|
||||||
# container_name:
|
container_name: elasticsearch
|
||||||
# image:
|
image: "docker.elastic.co/elasticsearch/elasticsearch:{{ elk_version }}"
|
||||||
# restart:
|
restart: unless-stopped
|
||||||
# volumes:
|
ports:
|
||||||
# - name:
|
- name: ""
|
||||||
# internal:
|
internal: 9200
|
||||||
# external:
|
external: 9200
|
||||||
# ports:
|
- name: ""
|
||||||
# - name:
|
internal: 9300
|
||||||
# internal:
|
external: 9300
|
||||||
# external:
|
volumes:
|
||||||
# environment:
|
- name: "data"
|
||||||
# -
|
internal: /usr/share/elasticsearch/data
|
||||||
# - name: calibre
|
external: "{{ docker.directories.config }}/elk/elasticsearch/data"
|
||||||
# vm:
|
- name: "certs"
|
||||||
# - docker-host00
|
internal: /usr/share/elasticsearch/config/certs
|
||||||
# container_name: calibre
|
external: "{{ docker.directories.config }}/elk/certs"
|
||||||
# image: lscr.io/linuxserver/calibre-web:latest
|
environment:
|
||||||
# restart: unless-stopped
|
- node.name=elasticsearch
|
||||||
# volumes:
|
- cluster.name=docker-cluster
|
||||||
# - name: "Configuration"
|
- discovery.type=single-node
|
||||||
# internal: /config"
|
- "ELASTIC_PASSWORD={{ vault.docker.elk.elastic.password }}"
|
||||||
# external: /opt/local/calibre/
|
- xpack.security.enabled=true
|
||||||
# - name: "Books"
|
- xpack.security.authc.api_key.enabled=true
|
||||||
# internal: /books"
|
- xpack.security.http.ssl.enabled=true
|
||||||
# external: /media/docker/data/calibre/
|
- xpack.security.http.ssl.key=certs/elasticsearch.key
|
||||||
# ports:
|
- xpack.security.http.ssl.certificate=certs/elasticsearch.crt
|
||||||
# - name: "http"
|
- xpack.security.http.ssl.certificate_authorities=certs/ca.crt
|
||||||
# internal: 5000
|
- xpack.security.transport.ssl.enabled=true
|
||||||
# external: 5000
|
- xpack.security.transport.ssl.verification_mode=certificate
|
||||||
# environment:
|
- xpack.security.transport.ssl.key=certs/elasticsearch.key
|
||||||
# - PUID=1000
|
- xpack.security.transport.ssl.certificate=certs/elasticsearch.crt
|
||||||
# - PGID=1000
|
- xpack.security.transport.ssl.certificate_authorities=certs/ca.crt
|
||||||
# - TZ=Europe/Berlin
|
- name: kibana
|
||||||
# - DOCKER_MODS=linuxserver/mods:universal-calibre
|
vm:
|
||||||
# - name: grafana
|
- docker-host01
|
||||||
# vm:
|
container_name: kibana
|
||||||
# container_name: grafana
|
image: "docker.elastic.co/kibana/kibana:{{ elk_version }}"
|
||||||
# image: grafana/grafana-oss
|
restart: unless-stopped
|
||||||
# restart: unless-stopped
|
ports:
|
||||||
# volumes:
|
- name: "http"
|
||||||
# - name: "Configuration"
|
internal: 5601
|
||||||
# internal: /etc/grafana/
|
external: 5601
|
||||||
# external: /opt/docker/config/grafana/config/
|
volumes:
|
||||||
# - name: "Data"
|
- name: "certs"
|
||||||
# internal: /var/lib/grafana/
|
internal: /usr/share/kibana/config/certs
|
||||||
# external: /media/docker/data/grafana/
|
external: "{{ docker.directories.config }}/elk/certs/"
|
||||||
# ports:
|
environment:
|
||||||
# environment:
|
- ELASTICSEARCH_HOSTS=["https://elasticsearch:9200"]
|
||||||
# - PUID=472
|
- ELASTICSEARCH_USERNAME=kibana_system
|
||||||
# - PGID=472
|
- ELASTICSEARCH_PASSWORD={{ vault.docker.elk.elastic.password }}
|
||||||
# - TZ=Europe/Berlin
|
- SERVER_SSL_ENABLED=true
|
||||||
# - name: prometheus
|
- SERVER_SSL_CERTIFICATE=/usr/share/kibana/config/certs/kibana.crt
|
||||||
# vm:
|
- SERVER_SSL_KEY=/usr/share/kibana/config/certs/kibana.key
|
||||||
# - docker-host00
|
|
||||||
# container_name: prometheus
|
|
||||||
# image: prom/prometheus
|
|
||||||
# restart: unless-stopped
|
|
||||||
# volumes:
|
|
||||||
# - name: "Configuration"
|
|
||||||
# internal: /etc/prometheus/
|
|
||||||
# external: /opt/docker/config/prometheus/
|
|
||||||
# - name: "Data"
|
|
||||||
# internal: /prometheus/
|
|
||||||
# external: prometheus_data
|
|
||||||
# ports:
|
|
||||||
# - name: "http"
|
|
||||||
# internal: 5000
|
|
||||||
# external: 5000
|
|
||||||
# environment:
|
|
||||||
# - PUID=65534
|
|
||||||
# - PGID=65534
|
|
||||||
# - TZ=Europe/Berlin
|
|
||||||
|
|||||||
Reference in New Issue
Block a user