atproto blogging
1server:
2 http_listen_port: 9080
3 grpc_listen_port: 0
4
5positions:
6 filename: /tmp/positions.yaml
7
8clients:
9 - url: ${LOKI_URL}/loki/api/v1/push
10
11scrape_configs:
12 - job_name: docker
13 docker_sd_configs:
14 - host: unix:///var/run/docker.sock
15 refresh_interval: 5s
16 relabel_configs:
17 # Only scrape weaver containers
18 - source_labels: [__meta_docker_container_name]
19 regex: "/(weaver-.+)"
20 action: keep
21 # Set container_name label (matches dashboard queries)
22 - source_labels: [__meta_docker_container_name]
23 regex: "/(.+)"
24 target_label: container_name
25 # Add instance label
26 - target_label: instance
27 replacement: "booskie-box"
28 pipeline_stages:
29 # Parse JSON logs if present
30 - json:
31 expressions:
32 level: level
33 msg: msg
34 timestamp: timestamp
35 # Use extracted level if available
36 - labels:
37 level:
38 # Timestamp from log if available
39 - timestamp:
40 source: timestamp
41 format: RFC3339Nano
42 fallback_formats:
43 - RFC3339
44 - UnixMs