Initial commit: Docker services stack
Stack completo de servicios Docker incluyendo: - Homer dashboard para gestión de servicios - Marquez/OpenLineage para lineage de datos - Metabase/Rill analytics para análisis - PostgreSQL/ClickHouse databases - Configuraciones de Homer y Marquez Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,43 @@
|
|||||||
|
services:
|
||||||
|
metabase-db:
|
||||||
|
image: postgres:15
|
||||||
|
container_name: metabase-db
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=metabase
|
||||||
|
- POSTGRES_PASSWORD=metabase
|
||||||
|
- POSTGRES_DB=metabase
|
||||||
|
volumes:
|
||||||
|
- metabase-data:/var/lib/postgresql/data
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
metabase:
|
||||||
|
image: metabase/metabase:latest
|
||||||
|
container_name: metabase
|
||||||
|
ports:
|
||||||
|
- "3200:3000"
|
||||||
|
environment:
|
||||||
|
- MB_DB_TYPE=postgres
|
||||||
|
- MB_DB_DBNAME=metabase
|
||||||
|
- MB_DB_PORT=5432
|
||||||
|
- MB_DB_USER=metabase
|
||||||
|
- MB_DB_PASS=metabase
|
||||||
|
- MB_DB_HOST=metabase-db
|
||||||
|
depends_on:
|
||||||
|
- metabase-db
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
rill:
|
||||||
|
image: rilldata/rill:latest
|
||||||
|
container_name: rill
|
||||||
|
ports:
|
||||||
|
- "9009:9009"
|
||||||
|
volumes:
|
||||||
|
- ./rill-data:/rill
|
||||||
|
working_dir: /rill
|
||||||
|
environment:
|
||||||
|
- RILL_ADMIN_URL=http://localhost:9009
|
||||||
|
command: start
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
metabase-data:
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
services:
|
||||||
|
postgres-main:
|
||||||
|
image: postgres:15
|
||||||
|
container_name: postgres-main
|
||||||
|
ports:
|
||||||
|
- "5434:5432"
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: postgres
|
||||||
|
POSTGRES_PASSWORD: postgres
|
||||||
|
POSTGRES_DB: postgres
|
||||||
|
volumes:
|
||||||
|
- postgres-main-data:/var/lib/postgresql/data
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
clickhouse:
|
||||||
|
image: clickhouse/clickhouse-server:latest
|
||||||
|
container_name: clickhouse
|
||||||
|
ports:
|
||||||
|
- "8123:8123"
|
||||||
|
- "9000:9000"
|
||||||
|
environment:
|
||||||
|
CLICKHOUSE_DB: default
|
||||||
|
CLICKHOUSE_USER: default
|
||||||
|
CLICKHOUSE_PASSWORD: clickhouse
|
||||||
|
CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: 1
|
||||||
|
volumes:
|
||||||
|
- clickhouse-data:/var/lib/clickhouse
|
||||||
|
- clickhouse-logs:/var/log/clickhouse-server
|
||||||
|
ulimits:
|
||||||
|
nofile:
|
||||||
|
soft: 262144
|
||||||
|
hard: 262144
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
dbgate:
|
||||||
|
image: dbgate/dbgate:latest
|
||||||
|
container_name: dbgate
|
||||||
|
ports:
|
||||||
|
- "3300:3000"
|
||||||
|
environment:
|
||||||
|
CONNECTIONS: "con1,con2"
|
||||||
|
LABEL_con1: PostgreSQL
|
||||||
|
SERVER_con1: postgres-main
|
||||||
|
USER_con1: postgres
|
||||||
|
PASSWORD_con1: postgres
|
||||||
|
PORT_con1: 5432
|
||||||
|
ENGINE_con1: postgres@dbgate-plugin-postgres
|
||||||
|
LABEL_con2: ClickHouse
|
||||||
|
SERVER_con2: clickhouse
|
||||||
|
USER_con2: default
|
||||||
|
PASSWORD_con2: clickhouse
|
||||||
|
PORT_con2: 8123
|
||||||
|
ENGINE_con2: clickhouse@dbgate-plugin-clickhouse
|
||||||
|
depends_on:
|
||||||
|
- postgres-main
|
||||||
|
- clickhouse
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
postgres-main-data:
|
||||||
|
clickhouse-data:
|
||||||
|
clickhouse-logs:
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: postgres:15
|
||||||
|
container_name: marquez-db
|
||||||
|
ports:
|
||||||
|
- "5433:5432"
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: marquez
|
||||||
|
POSTGRES_PASSWORD: marquez
|
||||||
|
POSTGRES_DB: marquez
|
||||||
|
volumes:
|
||||||
|
- postgres-data:/var/lib/postgresql/data
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "pg_isready", "-U", "marquez"]
|
||||||
|
interval: 5s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
|
||||||
|
marquez:
|
||||||
|
image: marquezproject/marquez:latest
|
||||||
|
container_name: marquez
|
||||||
|
ports:
|
||||||
|
- "5000:5000"
|
||||||
|
- "5001:5001"
|
||||||
|
environment:
|
||||||
|
POSTGRES_HOST: postgres
|
||||||
|
POSTGRES_PORT: 5432
|
||||||
|
POSTGRES_DB: marquez
|
||||||
|
POSTGRES_USER: marquez
|
||||||
|
POSTGRES_PASSWORD: marquez
|
||||||
|
MARQUEZ_PORT: 5000
|
||||||
|
MARQUEZ_ADMIN_PORT: 5001
|
||||||
|
depends_on:
|
||||||
|
postgres:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
|
marquez-web:
|
||||||
|
image: marquezproject/marquez-web:latest
|
||||||
|
container_name: marquez-web
|
||||||
|
ports:
|
||||||
|
- "3001:3000"
|
||||||
|
environment:
|
||||||
|
MARQUEZ_HOST: marquez
|
||||||
|
MARQUEZ_PORT: 5000
|
||||||
|
WEB_PORT: 3000
|
||||||
|
depends_on:
|
||||||
|
- marquez
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
postgres-data:
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
services:
|
||||||
|
homer:
|
||||||
|
image: b4bz/homer:latest
|
||||||
|
container_name: homer
|
||||||
|
ports:
|
||||||
|
- "8080:8080"
|
||||||
|
volumes:
|
||||||
|
- ./homer/assets:/www/assets
|
||||||
|
environment:
|
||||||
|
- UID=1000
|
||||||
|
- GID=1000
|
||||||
|
restart: unless-stopped
|
||||||
@@ -0,0 +1,103 @@
|
|||||||
|
---
|
||||||
|
title: "Dashboard"
|
||||||
|
subtitle: "Homer"
|
||||||
|
logo: "assets/logo.png"
|
||||||
|
|
||||||
|
header: true
|
||||||
|
footer: false
|
||||||
|
|
||||||
|
columns: "auto"
|
||||||
|
|
||||||
|
theme: default
|
||||||
|
|
||||||
|
colors:
|
||||||
|
light:
|
||||||
|
highlight-primary: "#3367d6"
|
||||||
|
highlight-secondary: "#4285f4"
|
||||||
|
highlight-hover: "#5a95f5"
|
||||||
|
background: "#f5f5f5"
|
||||||
|
card-background: "#ffffff"
|
||||||
|
text: "#363636"
|
||||||
|
text-header: "#ffffff"
|
||||||
|
text-title: "#303030"
|
||||||
|
text-subtitle: "#424242"
|
||||||
|
card-shadow: rgba(0, 0, 0, 0.1)
|
||||||
|
link: "#3273dc"
|
||||||
|
link-hover: "#363636"
|
||||||
|
dark:
|
||||||
|
highlight-primary: "#3367d6"
|
||||||
|
highlight-secondary: "#4285f4"
|
||||||
|
highlight-hover: "#5a95f5"
|
||||||
|
background: "#131313"
|
||||||
|
card-background: "#2b2b2b"
|
||||||
|
text: "#eaeaea"
|
||||||
|
text-header: "#ffffff"
|
||||||
|
text-title: "#fafafa"
|
||||||
|
text-subtitle: "#f5f5f5"
|
||||||
|
card-shadow: rgba(0, 0, 0, 0.4)
|
||||||
|
link: "#3273dc"
|
||||||
|
link-hover: "#ffdd57"
|
||||||
|
|
||||||
|
links: []
|
||||||
|
|
||||||
|
services:
|
||||||
|
- name: "Visualization"
|
||||||
|
icon: "fas fa-chart-bar"
|
||||||
|
items:
|
||||||
|
- name: "Grafana"
|
||||||
|
logo: "http://localhost:3500/public/build/static/img/grafana_icon.1e0deb6b.svg"
|
||||||
|
subtitle: "Dashboards & Visualization"
|
||||||
|
tag: "visualization"
|
||||||
|
url: "http://localhost:3500"
|
||||||
|
target: "_blank"
|
||||||
|
|
||||||
|
- name: "Metabase"
|
||||||
|
logo: "https://www.metabase.com/images/logo.svg"
|
||||||
|
subtitle: "Business Intelligence"
|
||||||
|
tag: "visualization"
|
||||||
|
url: "http://localhost:3200"
|
||||||
|
target: "_blank"
|
||||||
|
|
||||||
|
- name: "Rill"
|
||||||
|
logo: "http://localhost:9009/favicon.png"
|
||||||
|
subtitle: "Modern BI Dashboard"
|
||||||
|
tag: "visualization"
|
||||||
|
url: "http://localhost:9009"
|
||||||
|
target: "_blank"
|
||||||
|
|
||||||
|
- name: "Monitoring"
|
||||||
|
icon: "fas fa-chart-line"
|
||||||
|
items:
|
||||||
|
- name: "Alloy UI"
|
||||||
|
logo: "http://localhost:12345/public/static/media/logo.5d4ad2e6fdb761a51107c6cd8b65c7ff.svg"
|
||||||
|
subtitle: "Alloy Configuration"
|
||||||
|
tag: "app"
|
||||||
|
url: "http://localhost:12345"
|
||||||
|
target: "_blank"
|
||||||
|
|
||||||
|
- name: "Prometheus UI"
|
||||||
|
logo: "data:image/svg+xml,<?xml version='1.0' encoding='utf-8'?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='115.333px' height='114px' viewBox='0 0 115.333 114' enable-background='new 0 0 115.333 114' xml:space='preserve'><g id='Layer_2'></g><g><path fill='%23EEEEEE' d='M56.667,0.667C25.372,0.667,0,26.036,0,57.332c0,31.295,25.372,56.666,56.667,56.666 s56.666-25.371,56.666-56.666C113.333,26.036,87.961,0.667,56.667,0.667z M56.667,106.722c-8.904,0-16.123-5.948-16.123-13.283 H72.79C72.79,100.773,65.571,106.722,56.667,106.722z M83.297,89.04H30.034v-9.658h53.264V89.04z M83.106,74.411h-52.92 c-0.176-0.203-0.356-0.403-0.526-0.609c-5.452-6.62-6.736-10.076-7.983-13.598c-0.021-0.116,6.611,1.355,11.314,2.413 c0,0,2.42,0.56,5.958,1.205c-3.397-3.982-5.414-9.044-5.414-14.218c0-11.359,8.712-21.285,5.569-29.308 c3.059,0.249,6.331,6.456,6.552,16.161c3.252-4.494,4.613-12.701,4.613-17.733c0-5.21,3.433-11.262,6.867-11.469 c-3.061,5.045,0.793,9.37,4.219,20.099c1.285,4.03,1.121,10.812,2.113,15.113C63.797,33.534,65.333,20.5,71,16 c-2.5,5.667,0.37,12.758,2.333,16.167c3.167,5.5,5.087,9.667,5.087,17.548c0,5.284-1.951,10.259-5.242,14.148 c3.742-0.702,6.326-1.335,6.326-1.335l12.152-2.371C91.657,60.156,89.891,67.418,83.106,74.411z'/></g></svg>"
|
||||||
|
subtitle: "Metrics Database"
|
||||||
|
tag: "monitoring"
|
||||||
|
url: "http://localhost:9090"
|
||||||
|
target: "_blank"
|
||||||
|
|
||||||
|
- name: "Data Lineage"
|
||||||
|
icon: "fas fa-project-diagram"
|
||||||
|
items:
|
||||||
|
- name: "Marquez UI"
|
||||||
|
logo: "http://localhost:3001/42e36e3d359253b1fc98e9f44cb12c57.svg"
|
||||||
|
subtitle: "OpenLineage Data Lineage"
|
||||||
|
tag: "lineage"
|
||||||
|
url: "http://localhost:3001"
|
||||||
|
target: "_blank"
|
||||||
|
|
||||||
|
- name: "Databases"
|
||||||
|
icon: "fas fa-database"
|
||||||
|
items:
|
||||||
|
- name: "DBGate"
|
||||||
|
logo: "http://localhost:3300/logo192.png"
|
||||||
|
subtitle: "Database Management Tool"
|
||||||
|
tag: "database"
|
||||||
|
url: "http://localhost:3300"
|
||||||
|
target: "_blank"
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
server:
|
||||||
|
applicationConnectors:
|
||||||
|
- type: http
|
||||||
|
port: 5000
|
||||||
|
adminConnectors:
|
||||||
|
- type: http
|
||||||
|
port: 8081
|
||||||
|
|
||||||
|
db:
|
||||||
|
driverClass: org.postgresql.Driver
|
||||||
|
url: jdbc:postgresql://postgres:5432/marquez
|
||||||
|
user: marquez
|
||||||
|
password: marquez
|
||||||
|
|
||||||
|
logging:
|
||||||
|
level: INFO
|
||||||
|
appenders:
|
||||||
|
- type: console
|
||||||
Executable
+2
@@ -0,0 +1,2 @@
|
|||||||
|
sources: []
|
||||||
|
models: []
|
||||||
Binary file not shown.
Reference in New Issue
Block a user