closer to a full instrumentation stack

This commit is contained in:
Charles N Wyble 2024-12-07 17:05:02 -06:00
parent 7a29dbd3c7
commit eb2f116d7b
18 changed files with 52 additions and 84 deletions

View File

@ -14,6 +14,7 @@ This repo is for containers running on Charles (@ReachableCEO) laptop
| (youtube archiving) tube-archivist | 2004 | | (youtube archiving) tube-archivist | 2004 |
| (the only editor) vscode-server | 2006 | | (the only editor) vscode-server | 2006 |
| (timetracking) wakaapi | 2001 | | (timetracking) wakaapi | 2001 |
| apple heatlh export to influx/grafana | 2012 |
| (analytics) metrics | 2002 | | (analytics) metrics | 2002 |

View File

@ -1,35 +0,0 @@
# compose.yaml
services:
influxdb2:
image: influxdb:2
container_name: reachableceo-influxdb
ports:
- 4000:8086
environment:
DOCKER_INFLUXDB_INIT_MODE: setup
DOCKER_INFLUXDB_INIT_USERNAME_FILE: /run/secrets/influxdb2-admin-username
DOCKER_INFLUXDB_INIT_PASSWORD_FILE: /run/secrets/influxdb2-admin-password
DOCKER_INFLUXDB_INIT_ADMIN_TOKEN_FILE: /run/secrets/influxdb2-admin-token
DOCKER_INFLUXDB_INIT_ORG: docs
DOCKER_INFLUXDB_INIT_BUCKET: home
secrets:
- influxdb2-admin-username
- influxdb2-admin-password
- influxdb2-admin-token
volumes:
- type: volume
source: influxdb2-data
target: /var/lib/influxdb2
- type: volume
source: influxdb2-config
target: /etc/influxdb2
secrets:
influxdb2-admin-username:
file: $HOME/.env/influxdb2/admin-username
influxdb2-admin-password:
file: $HOME/.env/influxdb2/admin-password
influxdb2-admin-token:
file: $HOME/.env/influxdb2/admin-token
volumes:
influxdb2-data:
influxdb2-config:

View File

@ -0,0 +1,11 @@
services:
influxdbV1:
image: influxdb:1.8.4
container_name: reachableceo-health-data
ports:
- "8086:8086"
volumes:
- reachableceo-health-data:/var/lib/influxdb
restart: unless-stopped
volumes:
reachableceo-health-data:

View File

@ -0,0 +1,10 @@
services:
reachableceo-metrics:
image: ghcr.io/lowlighter/metrics:latest
container_name: reachableceo-metrics
entrypoint: [""]
command: ["npm", "start"]
ports:
- "0.0.0.0:2002:3000"
volumes:
- "./settings.json:/metrics/settings.json"

View File

@ -2,7 +2,7 @@
"//": "Example of configuration for metrics web instance", "//": "Example of configuration for metrics web instance",
"//": "====================================================================", "//": "====================================================================",
"token": "A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", "//": "GitHub Personal Token (required)", "token": "GITHUB API TOKEN", "//": "GitHub Personal Token (required)",
"modes": ["embed", "insights"], "//": "Web instance enabled modes", "modes": ["embed", "insights"], "//": "Web instance enabled modes",
"restricted": [], "//": "Authorized users (empty to disable)", "restricted": [], "//": "Authorized users (empty to disable)",
"maxusers": 0, "//": "Maximum users, (0 to disable)", "maxusers": 0, "//": "Maximum users, (0 to disable)",
@ -17,8 +17,8 @@
"padding": ["0", "8 + 11%"], "//": "Image padding (default)", "padding": ["0", "8 + 11%"], "//": "Image padding (default)",
"outputs": ["svg", "png", "json"], "//": "Image output formats (empty to enable all)", "outputs": ["svg", "png", "json"], "//": "Image output formats (empty to enable all)",
"hosted": { "hosted": {
"by": "ReachableCEO Dev Workstation", "//": "Web instance host (displayed in footer)", "by": "", "//": "Web instance host (displayed in footer)",
"link": "https://www.reachableceo.com", "//": "Web instance host link (displayed in footer)" "link": "", "//": "Web instance host link (displayed in footer)"
}, },
"oauth":{ "oauth":{
"id": null, "//": "GitHub OAUTH client id", "id": null, "//": "GitHub OAUTH client id",
@ -68,80 +68,80 @@
"enabled": false, "//": "Enable isocalendar plugin" "enabled": false, "//": "Enable isocalendar plugin"
}, },
"languages":{ "languages":{
"enabled": true, "//": "Enable languages plugin" "enabled": false, "//": "Enable languages plugin"
}, },
"stargazers":{ "stargazers":{
"worldmap.token": null, "//": "Stargazers worldmap token", "worldmap.token": null, "//": "Stargazers worldmap token",
"enabled": false, "//": "Enable stargazers plugin" "enabled": false, "//": "Enable stargazers plugin"
}, },
"lines":{ "lines":{
"enabled": true, "//": "Enable lines plugin" "enabled": false, "//": "Enable lines plugin"
}, },
"topics":{ "topics":{
"enabled": true, "//": "Enable topics plugin" "enabled": false, "//": "Enable topics plugin"
}, },
"stars":{ "stars":{
"enabled": true, "//": "Enable stars plugin" "enabled": false, "//": "Enable stars plugin"
}, },
"licenses":{ "licenses":{
"enabled": true, "//": "Enable licenses plugin" "enabled": false, "//": "Enable licenses plugin"
}, },
"habits":{ "habits":{
"enabled": true, "//": "Enable habits plugin" "enabled": false, "//": "Enable habits plugin"
}, },
"contributors":{ "contributors":{
"enabled": true, "//": "Enable contributors plugin" "enabled": false, "//": "Enable contributors plugin"
}, },
"followup":{ "followup":{
"enabled": true, "//": "Enable followup plugin" "enabled": false, "//": "Enable followup plugin"
}, },
"reactions":{ "reactions":{
"enabled": true, "//": "Enable reactions plugin" "enabled": false, "//": "Enable reactions plugin"
}, },
"people":{ "people":{
"enabled": true, "//": "Enable people plugin" "enabled": false, "//": "Enable people plugin"
}, },
"sponsorships":{ "sponsorships":{
"enabled": true, "//": "Enable sponsorships plugin" "enabled": false, "//": "Enable sponsorships plugin"
}, },
"sponsors":{ "sponsors":{
"enabled": true, "//": "Enable sponsors plugin" "enabled": false, "//": "Enable sponsors plugin"
}, },
"repositories":{ "repositories":{
"enabled": true, "//": "Enable repositories plugin" "enabled": false, "//": "Enable repositories plugin"
}, },
"discussions":{ "discussions":{
"enabled": true, "//": "Enable discussions plugin" "enabled": false, "//": "Enable discussions plugin"
}, },
"starlists":{ "starlists":{
"enabled": true, "//": "Enable starlists plugin" "enabled": false, "//": "Enable starlists plugin"
}, },
"calendar":{ "calendar":{
"enabled": true, "//": "Enable calendar plugin" "enabled": false, "//": "Enable calendar plugin"
}, },
"achievements":{ "achievements":{
"enabled": true, "//": "Enable achievements plugin" "enabled": false, "//": "Enable achievements plugin"
}, },
"notable":{ "notable":{
"enabled": true, "//": "Enable notable plugin" "enabled": false, "//": "Enable notable plugin"
}, },
"activity":{ "activity":{
"enabled": true, "//": "Enable activity plugin" "enabled": false, "//": "Enable activity plugin"
}, },
"traffic":{ "traffic":{
"enabled": true, "//": "Enable traffic plugin" "enabled": false, "//": "Enable traffic plugin"
}, },
"code":{ "code":{
"enabled": true, "//": "Enable code plugin" "enabled": false, "//": "Enable code plugin"
}, },
"gists":{ "gists":{
"enabled": true, "//": "Enable gists plugin" "enabled": false, "//": "Enable gists plugin"
}, },
"projects":{ "projects":{
"enabled": true, "//": "Enable projects plugin" "enabled": false, "//": "Enable projects plugin"
}, },
"introduction":{ "introduction":{
"enabled": true, "//": "Enable introduction plugin" "enabled": false, "//": "Enable introduction plugin"
}, },
"skyline":{ "skyline":{
"enabled": false, "//": "Enable skyline plugin" "enabled": false, "//": "Enable skyline plugin"
@ -174,12 +174,8 @@
"enabled": false, "//": "Enable rss plugin" "enabled": false, "//": "Enable rss plugin"
}, },
"wakatime":{ "wakatime":{
"token": "664dd8b2-b73a-4f31-82ef-96ed424814d2", "token": "WakaTime API token",
"enabled": true, "//": "Enable wakatime plugin" "enabled": false, "//": "Enable wakatime plugin"
"url": "http://localhost:2001/api",
"days": 7,
"sections": "time, projects, projects-graphs",
"limit": 4,
}, },
"leetcode":{ "leetcode":{
"enabled": false, "//": "Enable leetcode plugin" "enabled": false, "//": "Enable leetcode plugin"
@ -222,4 +218,4 @@
}, },
"//": "" "//": ""
} }
} }

View File

@ -1,15 +0,0 @@
services:
reachableceo-metrics:
image: ghcr.io/lowlighter/metrics:${VERSION:-latest}
container_name: reachableceo-metrics
entrypoint: [""]
command: ["npm", "start"]
ports:
- "127.0.0.1:2002:3000"
volumes:
- "./settings.json:/metrics/settings.json"
environment:
- VERSION=${VERSION:-latest}
- SETTINGS=./settings.json
- SERVICE_PORT=${SERVICE_PORT:-3000}
- PUBLISHED_PORT=${PUBLISHED_PORT:-2002}