Ctrl K
ComunidadGuías…

docker-compose.clickhouse.yml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
services:
  dash:
    image: ghcr.io/uptimekit/dash:latest
    ports:
      - "${DASH_PORT:-3000}:3000"
    env_file:
      - .env
    environment:
      - DATABASE_URL=postgresql://postgres:postgres@db:5432/uptimekit
      - TIMESERIES_BACKEND=${TIMESERIES_BACKEND:-clickhouse}
      - CLICKHOUSE_URL=http://clickhouse:8123
      - CLICKHOUSE_USER=default
      - CLICKHOUSE_PASSWORD=clickhouse
      - APPRISE_URL=http://apprise:8000
    depends_on:
      db:
        condition: service_healthy
      apprise:
        condition: service_started
    healthcheck:
      test:
        [
          "CMD-SHELL",
          'IP=$$(hostname -i | awk ''{print $$1}''); wget -qO- "http://$$IP:3000/api/health" >/dev/null 2>&1',
        ]
      interval: 5s
      timeout: 5s
      retries: 12
      start_period: 20s
    restart: always

  db:
    image: postgres:18-alpine
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: uptimekit
    volumes:
      - db_data:/var/lib/postgresql
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres -d uptimekit"]
      interval: 5s
      timeout: 5s
      retries: 12
      start_period: 10s
    restart: always

  apprise:
    image: caronc/apprise:2.0.1
    environment:
      - APPRISE_WORKER_COUNT=1
    restart: always

  # Only needed when TIMESERIES_BACKEND=clickhouse (the default for this file).
  # Comment out this whole block if you switch to TimescaleDB.
  clickhouse:
    image: clickhouse/clickhouse-server:26.9
    volumes:
      - clickhouse_data:/var/lib/clickhouse
    environment:
      CLICKHOUSE_DB: uptimekit
      CLICKHOUSE_USER: default
      CLICKHOUSE_PASSWORD: clickhouse
      CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: 1
    user: "root"
    ulimits:
      nofile:
        soft: 262144
        hard: 262144
    restart: always

volumes:
  db_data:
  clickhouse_data: