Skip to content

quochuydev/dokploy-grafana-compose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dokploy Monitoring Stack

Grafana + Loki + Tempo + Mimir + Alloy as a single Dokploy Compose service.

Architecture

flowchart LR
    user([User])
    apps[Apps / Clients]
    node[node-exporter]

    subgraph Ingest
        alloy[Alloy]
    end

    subgraph Storage
        loki[(Loki)]
        tempo[(Tempo)]
        mimir[(Mimir)]
    end

    grafana[Grafana]

    apps --> alloy
    node --> alloy
    alloy --> loki
    alloy --> tempo
    alloy --> mimir
    loki --> grafana
    tempo --> grafana
    mimir --> grafana
    grafana --> user
Loading

Setup in Dokploy

  1. Create Service → Compose

    • Provider: Git
    • Repository: this repo (or your fork)
    • Branch: main
    • Compose path: docker-compose.yml
    Dokploy compose service configuration
  2. Domains — open the Domains tab and add each entry below.

    Host Path Service Container Port
    grafana.<your-domain> / grafana 3000
    alloy.<your-domain> /v1 alloy 4318
    alloy.<your-domain> /loki alloy 3500
    alloy.<your-domain> /api/v1/metrics/write alloy 9090
    Dokploy domains configuration

    Default Grafana login: admin / password

  3. Protect Alloy with basic auth (Traefik middleware)

    a. Generate a hashed credential

    htpasswd -nb admin 'password'
    # → admin:$apr1$G3T3XOqn$6JGifVcvveyWFg7gYWZjH0

    b. Create the middleware in Dokploy: go to Dokploy → Settings → Traefik (or the Traefik tab on the server) and open the dynamic config file editor. Add a new file middlewares.yml (or append to an existing one):

    http:
      middlewares:
        alloy-auth:
          basicAuth:
            # admin / password
            users:
              - "admin:$apr1$G3T3XOqn$6JGifVcvveyWFg7gYWZjH0"

    c. Attach it to each Alloy domain. In the service's Domains tab, edit each alloy.<your-domain> row:

    alloy-auth@file
    

Commands

# bash (curl)
./examples/sh/send-test-log.sh "hello from devops"
./examples/sh/send-test-metric.sh 42
./examples/sh/send-test-trace.sh

# node
cd examples/node && pnpm start

Grafana Tempo trace explorer

About

Docker Compose stack for Grafana observability: Tempo traces, Loki logs, Alloy OTLP collector - optimized for Dokploy deployments

Topics

Resources

License

Stars

Watchers

Forks

Contributors