sha256:8adabdc2b8ccf37a29acac4fe2d75f10b6b6375fba2fc16da6feaa49beaa4f37
Last pushed
26 days by aliasadpoor
Type
Compose
Manifest digest
sha256:8adabdc2b8ccf37a29acac4fe2d75f10b6b6375fba2fc16da6feaa49beaa4f37
# aperturedb-compose version: 0.19.15-rc.5
services:
aperturedb:
image: aperturedata/aperturedb:0.19.15-rc.5
restart: always
environment:
ADB_KVGD_DB_SIZE: "204800"
ADB_DB_ROOT_PATH: "/aperturedb/db"
ADB_LOG_PATH: "/aperturedb/logs"
ADB_PORT: 55553
ADB_ENABLE_DEBUG: 1
ADB_MAX_SIMULTANEOUS_CLIENTS: 24
ADB_FORCE_SSL: false
ADB_TIMEOUT_RECEIVE: false
ADB_MASTER_KEY: ${ADB_MASTER_KEY:-admin}
volumes:
- aperturedb_db:/aperturedb/db
- aperturedb_logs:/aperturedb/logs
promtail:
profiles:
- telemetry
image: aperturedata/promtail:0.19.15-rc.5
restart: always
environment:
POD_IP: aperturedb
volumes:
- aperturedb_logs:/mnt/aperture
loki:
profiles:
- telemetry
image: grafana/loki:3.7.8
restart: always
user: 0:0
configs:
- source: loki_config
target: /etc/loki/local-config.yml
volumes:
- loki:/loki
prometheus:
profiles:
- telemetry
image: prom/prometheus:v3.15.0
restart: always
user: 0:0
command: [ "--config.file=/etc/prometheus/prometheus.yml", "--storage.tsdb.path=/prometheus", "--storage.tsdb.retention.time=28d" ]
configs:
- source: prometheus_config
target: /etc/prometheus/prometheus.yml
- source: monitoring_password
target: /etc/prometheus/auth/password
volumes:
- prometheus:/prometheus
grafana:
profiles:
- telemetry
image: aperturedata/grafana:0.19.15-rc.5
restart: always
user: 0:0
environment:
GF_SERVER_ROOT_URL: '%(protocol)s://%(domain)s:%(http_port)s/grafana/'
GF_SERVER_SERVE_FROM_SUB_PATH: 'true'
volumes:
- grafana:/var/lib/grafana
webui:
image: aperturedata/webui:0.19.15-rc.5
restart: always
ca:
image: alpine/openssl:3.5.9
restart: on-failure
command: req -x509 -newkey rsa:4096 -days 3650 -nodes -keyout /cert/tls.key -out /cert/tls.crt -subj "/C=US/O=ApertureData Inc./CN=localhost"
volumes:
- certificate_volume:/cert
lenz:
depends_on:
ca:
condition: service_completed_successfully
image: aperturedata/lenz:0.19.15-rc.5
restart: always
ports:
- ${GATEWAY:-}:55555:55551
environment:
LNZ_HEALTH_PORT: 58085
LNZ_TCP_PORT: 55551
LNZ_HTTP_PORT: 8080
LNZ_ADB_BACKENDS: '["aperturedb:55553"]'
LNZ_REPLICAS: 1
LNZ_ADB_MAX_CONCURRENCY: 16
LNZ_FORCE_SSL: false
LNZ_CERTIFICATE_PATH: /etc/lenz/certificate/tls.crt
LNZ_PRIVATE_KEY_PATH: /etc/lenz/certificate/tls.key
LNZ_METRICS_PATH: /etc/lenz/metrics
LNZ_DB_PATH: /etc/lenz/db
configs:
- source: monitoring_password
target: /etc/lenz/metrics/password
- source: telemetry_db_password
target: /etc/lenz/db/password
volumes:
- certificate_volume:/etc/lenz/certificate
nginx:
depends_on:
ca:
condition: service_completed_successfully
image: nginx:1.30.5
restart: always
ports:
- ${GATEWAY:-}:80:80
- ${GATEWAY:-}:443:443
configs:
- source: nginx_config
target: /etc/nginx/conf.d/default.conf
volumes:
- certificate_volume:/etc/nginx/certificate
configs:
nginx_config:
content: |
server {
listen 80;
listen 443 ssl;
client_max_body_size 256m;
ssl_certificate /etc/nginx/certificate/tls.crt;
ssl_certificate_key /etc/nginx/certificate/tls.key;
location / {
proxy_pass http://webui;
}
location /api/ {
proxy_pass http://lenz:8080;
}
location /grafana/ {
resolver 127.0.0.11 valid=30s;
set $$target_var http://grafana:3000;
proxy_pass $$target_var;
proxy_set_header Host $$host;
}
}
loki_config:
content: |
auth_enabled: false
server:
http_listen_port: 3100
common:
path_prefix: /loki
storage:
filesystem:
chunks_directory: /loki/chunks
rules_directory: /loki/rules
replication_factor: 1
ring:
kvstore:
store: inmemory
schema_config:
configs:
- from: 2023-01-01
store: tsdb
object_store: filesystem
schema: v13
index:
prefix: index_
# loki will silently fail if this is any value other than "24h"
period: 24h
compactor:
working_directory: /loki/retention
compaction_interval: 24h
retention_enabled: true
delete_request_store: filesystem
retention_delete_delay: 1h
retention_delete_worker_count: 150
limits_config:
retention_period: 672h
query_scheduler:
max_outstanding_requests_per_tenant: 2048
ruler:
alertmanager_url: http://localhost:9093
# Prometheus discovers and scrapes every database through Lenz.
prometheus_config:
content: |
global:
scrape_interval: 5s
scrape_timeout: 4s
external_labels:
monitor: codelab-monitor
scrape_configs:
- job_name: aperturedb
metrics_path: /api/metrics
authorization:
credentials_file: /etc/prometheus/auth/password
http_sd_configs:
- url: http://lenz:8080/api/servers?format=prometheus
refresh_interval: 5s
authorization:
credentials_file: /etc/prometheus/auth/password
relabel_configs:
- source_labels: [__address__]
target_label: __param_server
- source_labels: [pod_ip]
target_label: instance
- target_label: __address__
replacement: lenz:8080
# Bearer password shared by Prometheus and Lenz for /api/servers and
# /api/metrics; set MONITORING_PASSWORD.
monitoring_password:
content: ${MONITORING_PASSWORD:-monitoring}
# Lenz collects metrics as the _telemetry database user, which authenticates
# with the master key; set ADB_MASTER_KEY.
telemetry_db_password:
content: ${ADB_MASTER_KEY:-admin}
volumes:
certificate_volume:
aperturedb_db:
aperturedb_logs:
grafana:
loki:
prometheus:
docker compose -f oci://aperturedata/aperturedb-compose-single-node:0.19.15-rc.5 upUse the above command to pull and run the Compose file. Learn more.
Official build of Nginx.
Pulls
1B+
Stars
21419
Last Updated
2 days
Loki - Cloud Native Log Aggregation by Grafana
Pulls
1B+
Stars
336
Last Updated
about 14 hours