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:
Tuan-Dat Tran
2025-02-07 09:39:48 +01:00
parent 924e4a2f92
commit 09bbc04959

View File

@@ -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