-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstack.yml
More file actions
86 lines (83 loc) · 3.28 KB
/
Copy pathstack.yml
File metadata and controls
86 lines (83 loc) · 3.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
version: "3.8"
networks:
core:
external: true
internal:
driver: overlay
services:
dashboard:
image: ghcr.io/marvinm2/aopwiki-dashboard:latest
networks:
- core
- internal
environment:
- SPARQL_ENDPOINT=http://virtuoso:8890/sparql
- SPARQL_PUBLIC_ENDPOINT=https://aopwiki-multirdf.vhp4safety.nl/sparql
# Persist usage analytics on gluster so counts survive redeploys (#91).
- USAGE_DB_PATH=/data/usage.sqlite
volumes:
- /mnt/gluster/docker/aopwiki-dashboard/usage:/data
deploy:
restart_policy:
condition: on-failure
labels:
- traefik.enable=true
- traefik.http.routers.aopwiki-dashboard.rule=Host(`aopwiki-dashboard.vhp4safety.nl`)
- traefik.http.routers.aopwiki-dashboard.entrypoints=websecure
- traefik.http.routers.aopwiki-dashboard.tls=true
- traefik.http.routers.aopwiki-dashboard.tls.certresolver=letsencrypt
- traefik.http.services.aopwiki-dashboard.loadbalancer.server.port=5000
- traefik.docker.network=core
resources:
limits:
memory: 2G
reservations:
memory: 512M
healthcheck:
test: ["CMD-SHELL", "python -c \"import urllib.request; urllib.request.urlopen('http://localhost:5000/health')\""]
interval: 30s
timeout: 10s
retries: 3
start_period: 120s
virtuoso:
# Pinned to the last known-good digest. The May 7 2026 :latest (Virtuoso
# 07.20.3243) regresses GROUP BY ?graph + FILTER(STRSTARTS(STR(?graph), ...))
# — counts come back correct but every row is mislabeled with the same URI,
# collapsing 33 trend points to 1 in the dashboard. See issue #58.
image: openlink/virtuoso-opensource-7@sha256:e7a5cd1915569d70d8363503dc62f6bf818b485f1501b230c7608cde8528c72d
networks:
- core
- internal
environment:
- DBA_PASSWORD=${DBA_PASSWORD}
- VIRT_Parameters_DirsAllowed=., ../vad, /usr/share/proj, /database/data
volumes:
# Mount the whole /database directory so virtuoso.db and friends survive
# container recreates. TTL inputs live in the data/ subdirectory, keeping
# the /database/data path inside the container unchanged. See issue #57.
- /mnt/gluster/docker/aopwiki-dashboard/virtuoso-data:/database
deploy:
restart_policy:
condition: on-failure
labels:
- traefik.enable=true
- traefik.http.routers.aopwiki-multirdf.rule=Host(`aopwiki-multirdf.vhp4safety.nl`)
- traefik.http.routers.aopwiki-multirdf.entrypoints=websecure
- traefik.http.routers.aopwiki-multirdf.tls=true
- traefik.http.routers.aopwiki-multirdf.tls.certresolver=letsencrypt
- traefik.http.services.aopwiki-multirdf.loadbalancer.server.port=8890
- traefik.docker.network=core
resources:
limits:
memory: 4G
reservations:
memory: 2G
healthcheck:
# Tool-free TCP probe via bash built-in /dev/tcp — survives upstream image
# changes that drop wget/curl (openlink/virtuoso-opensource-7:latest after
# May 2026 no longer ships wget, which broke the previous healthcheck).
test: ["CMD-SHELL", "bash -c 'echo > /dev/tcp/localhost/8890' || exit 1"]
interval: 15s
timeout: 5s
retries: 20
start_period: 60s