mirror of
https://github.com/jorijn/meshcore-stats.git
synced 2026-03-28 17:42:55 +01:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5b43f9ed12 | ||
|
|
0fe6c66ed8 | ||
|
|
2730a9d906 | ||
|
|
5e5d63fca3 | ||
|
|
92b2286e18 | ||
|
|
6776c2c429 | ||
|
|
e3a1df4aa6 |
@@ -9,7 +9,12 @@
|
||||
"Bash(find:*)",
|
||||
"Bash(tree:*)",
|
||||
"Skill(frontend-design)",
|
||||
"Skill(frontend-design:*)"
|
||||
"Skill(frontend-design:*)",
|
||||
"Bash(gh run view:*)",
|
||||
"Bash(gh run list:*)",
|
||||
"Bash(gh release view:*)",
|
||||
"Bash(gh release list:*)",
|
||||
"Bash(gh workflow list:*)"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
3
.github/workflows/docker-publish.yml
vendored
3
.github/workflows/docker-publish.yml
vendored
@@ -212,8 +212,9 @@ jobs:
|
||||
continue-on-error: true
|
||||
|
||||
# Smoke test - verify image runs correctly
|
||||
# Skip for manual runs when push is disabled (image not available to pull)
|
||||
- name: Smoke test
|
||||
if: "!(github.event_name == 'schedule' && steps.get-version.outputs.skip == 'true')"
|
||||
if: "!(github.event_name == 'schedule' && steps.get-version.outputs.skip == 'true') && !(github.event_name == 'workflow_dispatch' && inputs.push == false)"
|
||||
run: |
|
||||
IMAGE_TAG="${{ steps.image-tag.outputs.tag }}"
|
||||
|
||||
|
||||
13
.github/workflows/release-please.yml
vendored
13
.github/workflows/release-please.yml
vendored
@@ -5,6 +5,17 @@ on:
|
||||
branches:
|
||||
- main
|
||||
|
||||
# Note: We use a fine-grained PAT (RELEASE_PLEASE_TOKEN) instead of GITHUB_TOKEN
|
||||
# because GITHUB_TOKEN cannot trigger other workflows (like docker-publish.yml).
|
||||
# This is a GitHub security feature to prevent infinite workflow loops.
|
||||
#
|
||||
# The PAT requires these permissions (scoped to this repository only):
|
||||
# - Contents: Read and write (for creating releases and pushing tags)
|
||||
# - Pull requests: Read and write (for creating/updating release PRs)
|
||||
#
|
||||
# To rotate: Settings > Developer settings > Fine-grained tokens
|
||||
# Recommended rotation: Every 90 days
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
@@ -16,6 +27,6 @@ jobs:
|
||||
- name: Release Please
|
||||
uses: googleapis/release-please-action@v4
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
token: ${{ secrets.RELEASE_PLEASE_TOKEN }}
|
||||
config-file: release-please-config.json
|
||||
manifest-file: .release-please-manifest.json
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
{
|
||||
".": "0.2.1"
|
||||
".": "0.2.3"
|
||||
}
|
||||
|
||||
15
CHANGELOG.md
15
CHANGELOG.md
@@ -4,6 +4,21 @@ All notable changes to this project will be documented in this file.
|
||||
|
||||
This changelog is automatically generated by [release-please](https://github.com/googleapis/release-please) based on [Conventional Commits](https://www.conventionalcommits.org/).
|
||||
|
||||
## [0.2.3](https://github.com/jorijn/meshcore-stats/compare/v0.2.2...v0.2.3) (2026-01-05)
|
||||
|
||||
|
||||
### Continuous Integration
|
||||
|
||||
* use fine-grained PAT for release-please to trigger Docker builds ([2730a9d](https://github.com/jorijn/meshcore-stats/commit/2730a9d906eeb5761af29dd69e8d4ebbfca50491))
|
||||
|
||||
## [0.2.2](https://github.com/jorijn/meshcore-stats/compare/v0.2.1...v0.2.2) (2026-01-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **ci:** skip smoke test when manual push is disabled ([e3a1df4](https://github.com/jorijn/meshcore-stats/commit/e3a1df4aa64bf87c32848be0d5c5e5ce16968186))
|
||||
* move serial device config to override file ([6776c2c](https://github.com/jorijn/meshcore-stats/commit/6776c2c4293b71f4649a42dcf6c517f3b44469b5))
|
||||
|
||||
## [0.2.1](https://github.com/jorijn/meshcore-stats/compare/v0.2.0...v0.2.1) (2026-01-05)
|
||||
|
||||
|
||||
|
||||
@@ -171,18 +171,21 @@ See `meshcore.conf.example` for all available options.
|
||||
|
||||
#### Serial Device Access
|
||||
|
||||
The container needs access to your USB serial device. To customize the device path without modifying the tracked `docker-compose.yml`, create a `docker-compose.override.yml` file (gitignored):
|
||||
For serial transport, the container needs access to your USB serial device. Create a `docker-compose.override.yml` file (gitignored) to specify your device:
|
||||
|
||||
```yaml
|
||||
# docker-compose.override.yml - Local overrides (not tracked in git)
|
||||
# docker-compose.override.yml - Local device configuration (not tracked in git)
|
||||
services:
|
||||
meshcore-stats:
|
||||
devices:
|
||||
- /dev/ttyACM0:/dev/ttyACM0:rw # Your device path
|
||||
- /dev/ttyUSB0:/dev/ttyUSB0:rw # Linux example
|
||||
# - /dev/ttyACM0:/dev/ttyACM0:rw # Alternative Linux device
|
||||
```
|
||||
|
||||
This file is automatically merged with `docker-compose.yml` when running `docker compose up`.
|
||||
|
||||
> **Note**: TCP transport users (e.g., macOS with socat) don't need a devices section - just configure `MESH_TRANSPORT=tcp` in your `meshcore.conf`.
|
||||
|
||||
On the host, ensure the device is accessible:
|
||||
|
||||
```bash
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# Use this file for local development with live code changes.
|
||||
#
|
||||
# Usage:
|
||||
# docker compose -f docker-compose.yml -f docker-compose.development.yml up --build
|
||||
# docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build
|
||||
#
|
||||
# This override:
|
||||
# - Builds the image locally instead of pulling from ghcr.io
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
# MeshCore Stats - Docker Compose Configuration
|
||||
#
|
||||
# Production deployment using published container image.
|
||||
# For local development, use: docker compose -f docker-compose.yml -f docker-compose.development.yml up
|
||||
# For local development, use: docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build
|
||||
#
|
||||
# Prerequisites:
|
||||
# 1. Copy meshcore.conf.example to meshcore.conf and configure
|
||||
# 2. Ensure your user has access to the serial device (dialout group)
|
||||
# 3. Create data directories with correct ownership:
|
||||
# 2. For serial transport: Create docker-compose.override.yml with your device (see README)
|
||||
# 3. Ensure your user has access to the serial device (dialout group)
|
||||
# 4. Create data directories with correct ownership:
|
||||
# mkdir -p ./data/state ./out && sudo chown -R 1000:1000 ./data ./out
|
||||
|
||||
services:
|
||||
@@ -14,7 +15,7 @@ services:
|
||||
# MeshCore Stats - Data collection and rendering
|
||||
# ==========================================================================
|
||||
meshcore-stats:
|
||||
image: ghcr.io/jorijn/meshcore-stats:0.2.1 # x-release-please-version
|
||||
image: ghcr.io/jorijn/meshcore-stats:0.2.3 # x-release-please-version
|
||||
container_name: meshcore-stats
|
||||
restart: unless-stopped
|
||||
|
||||
@@ -22,10 +23,8 @@ services:
|
||||
env_file:
|
||||
- meshcore.conf
|
||||
|
||||
# Serial device for companion node communication
|
||||
devices:
|
||||
# Update to match your serial device (e.g., /dev/ttyACM0, /dev/cu.usbserial-*)
|
||||
- /dev/ttyUSB0:/dev/ttyUSB0:rw
|
||||
# NOTE: Serial device must be added via docker-compose.override.yml
|
||||
# See README.md for examples. TCP transport users don't need devices.
|
||||
|
||||
volumes:
|
||||
# Persistent storage for SQLite database and circuit breaker state
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
"""MeshCore network monitoring library."""
|
||||
|
||||
__version__ = "0.2.1" # x-release-please-version
|
||||
__version__ = "0.2.3" # x-release-please-version
|
||||
|
||||
Reference in New Issue
Block a user