sha256:dbdc5e1c8c8c47fca0d1c5d2bc76ee3637d2bacc09e088e115bf14f8b4fde1d0
Last pushed
23 days by aliasadpoor
Type
Compose
Manifest digest
sha256:dbdc5e1c8c8c47fca0d1c5d2bc76ee3637d2bacc09e088e115bf14f8b4fde1d0
# aperturedb-compose version: 0.19.14
services:
zoo1:
image: zookeeper:3.9.6
restart: always
hostname: zoo1
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
ZOO_TICK_TIME: 8000
ZOO_CFG_EXTRA: extendedTypesEnabled=true
ZOO_DATA_LOG_DIR: /data
volumes:
- zookeeper_zoo1_data:/data
zoo2:
image: zookeeper:3.9.6
restart: always
hostname: zoo2
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
ZOO_TICK_TIME: 8000
ZOO_CFG_EXTRA: extendedTypesEnabled=true
ZOO_DATA_LOG_DIR: /data
volumes:
- zookeeper_zoo2_data:/data
zoo3:
image: zookeeper:3.9.6
restart: always
hostname: zoo3
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
ZOO_TICK_TIME: 8000
ZOO_CFG_EXTRA: extendedTypesEnabled=true
ZOO_DATA_LOG_DIR: /data
volumes:
- zookeeper_zoo3_data:/data
aperturedb0:
image: aperturedata/aperturedb:v0.19.14
restart: always
depends_on:
- zoo1
- zoo2
- zoo3
environment:
ADB_STORAGE_TYPE: ${ADB_STORAGE_TYPE:?set ADB_STORAGE_TYPE (s3 or gs)}
ADB_STORAGE_BUCKET_NAME: ${ADB_STORAGE_BUCKET_NAME:?set ADB_STORAGE_BUCKET_NAME}
ADB_STORAGE_CREDENTIALS: ${ADB_STORAGE_CREDENTIALS:?set ADB_STORAGE_CREDENTIALS}
ADB_ZK_SERVERS: "zoo1:2181,zoo2:2181,zoo3:2181"
ADB_KVGD_DB_SIZE: "204800"
ADB_DB_ROOT_PATH: "/aperturedb/db"
ADB_LOG_PATH: "/aperturedb/logs"
ADB_PORT: 55553
ADB_MAX_SIMULTANEOUS_CLIENTS: 52
ADB_FORCE_SSL: false
ADB_TIMEOUT_RECEIVE: false
ADB_MASTER_KEY: ${ADB_MASTER_KEY:-admin}
volumes:
- aperturedb_0_logs:/aperturedb/logs
promtail0:
profiles:
- telemetry
image: aperturedata/promtail:v0.19.14
restart: always
environment:
POD_IP: aperturedb0
volumes:
- aperturedb_0_logs:/mnt/aperture
aperturedb1:
image: aperturedata/aperturedb:v0.19.14
restart: always
depends_on:
- zoo1
- zoo2
- zoo3
environment:
ADB_STORAGE_TYPE: ${ADB_STORAGE_TYPE:?set ADB_STORAGE_TYPE (s3 or gs)}
ADB_STORAGE_BUCKET_NAME: ${ADB_STORAGE_BUCKET_NAME:?set ADB_STORAGE_BUCKET_NAME}
ADB_STORAGE_CREDENTIALS: ${ADB_STORAGE_CREDENTIALS:?set ADB_STORAGE_CREDENTIALS}
ADB_ZK_SERVERS: "zoo1:2181,zoo2:2181,zoo3:2181"
ADB_KVGD_DB_SIZE: "204800"
ADB_DB_ROOT_PATH: "/aperturedb/db"
ADB_LOG_PATH: "/aperturedb/logs"
ADB_PORT: 55553
ADB_MAX_SIMULTANEOUS_CLIENTS: 52
ADB_FORCE_SSL: false
ADB_TIMEOUT_RECEIVE: false
ADB_MASTER_KEY: ${ADB_MASTER_KEY:-admin}
volumes:
- aperturedb_1_logs:/aperturedb/logs
promtail1:
profiles:
- telemetry
image: aperturedata/promtail:v0.19.14
restart: always
environment:
POD_IP: aperturedb1
volumes:
- aperturedb_1_logs:/mnt/aperture
checkpointer:
image: aperturedata/checkpointer:v0.19.14
restart: always
depends_on:
- zoo1
- zoo2
- zoo3
environment:
ADB_STORAGE_TYPE: ${ADB_STORAGE_TYPE:?set ADB_STORAGE_TYPE (s3 or gs)}
ADB_STORAGE_BUCKET_NAME: ${ADB_STORAGE_BUCKET_NAME:?set ADB_STORAGE_BUCKET_NAME}
ADB_STORAGE_CREDENTIALS: ${ADB_STORAGE_CREDENTIALS:?set ADB_STORAGE_CREDENTIALS}
ADB_ZK_SERVERS: "zoo1:2181,zoo2:2181,zoo3:2181"
ADB_KVGD_DB_SIZE: "204800"
ADB_DB_ROOT_PATH: "/checkpointer/db"
ADB_LOG_PATH: "/checkpointer/logs"
ADB_LOG_LEVEL: 0
volumes:
- checkpointer_checkpointer_logs:/checkpointer/logs
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:v0.19.14
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:v0.19.14
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:v0.19.14
ports:
- ${GATEWAY:-}:55555:55551
restart: always
environment:
LNZ_HEALTH_PORT: 58085
LNZ_TCP_PORT: 55551
LNZ_HTTP_PORT: 8080
LNZ_ADB_BACKENDS: '["aperturedb0:55553", "aperturedb1:55553"]'
LNZ_REPLICAS: 1
LNZ_ADB_MAX_CONCURRENCY: 48
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_0_logs:
aperturedb_1_logs:
checkpointer_checkpointer_logs:
grafana:
loki:
prometheus:
zookeeper_zoo1_data:
zookeeper_zoo2_data:
zookeeper_zoo3_data:
docker compose -f oci://aperturedata/aperturedb-compose-distributed-cloud:0.19.14 upUse the above command to pull and run the Compose file. Learn more.
Official build of Nginx.
Pulls
1B+
Stars
21417
Last Updated
about 22 hours
Apache ZooKeeper is an open-source server which enables highly reliable distributed coordination.
Pulls
100M+
Stars
1494
Last Updated
4 days
Loki - Cloud Native Log Aggregation by Grafana
Pulls
1B+
Stars
336
Last Updated
44 minutes