refactor: rename docker-compose.development.yml to docker-compose.dev.yml

- Rename to shorter docker-compose.dev.yml
- Add docker-compose.override.yml to .gitignore for local customizations
- Document override file pattern for device path customization
- Update README and CLAUDE.md with new naming convention

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Jorijn Schrijvershof
2026-01-05 08:16:26 +01:00
parent ee959d95a1
commit 046d7ead70
4 changed files with 21 additions and 8 deletions

3
.gitignore vendored
View File

@@ -17,6 +17,9 @@ build/
.env
meshcore.conf
# Docker local overrides
docker-compose.override.yml
# Data directories (keep structure, ignore content)
data/snapshots/companion/**/*.json
data/snapshots/repeater/**/*.json

View File

@@ -205,22 +205,27 @@ The project provides Docker containerization for easy deployment. Two containers
|------|---------|
| `Dockerfile` | Multi-stage build: Python + Ofelia scheduler |
| `docker-compose.yml` | Production deployment using published ghcr.io image |
| `docker-compose.development.yml` | Development override for local builds |
| `docker-compose.dev.yml` | Development override for local builds |
| `docker-compose.override.yml` | Local overrides (gitignored) |
| `docker/ofelia.ini` | Scheduler configuration (cron jobs) |
| `docker/nginx.conf` | nginx configuration for static site serving |
| `.dockerignore` | Files excluded from Docker build context |
### docker-compose.yml vs docker-compose.development.yml
### Docker Compose Files
**Production** (`docker-compose.yml`):
- Uses published image from `ghcr.io/jorijn/meshcore-stats`
- Image version managed by release-please via `x-release-please-version` placeholder
- Suitable for end users
**Development** (`docker-compose.development.yml`):
**Development** (`docker-compose.dev.yml`):
- Override file that builds locally instead of pulling from registry
- Mounts `src/` and `scripts/` for live code changes
- Usage: `docker compose -f docker-compose.yml -f docker-compose.development.yml up --build`
- Usage: `docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build`
**Local overrides** (`docker-compose.override.yml`):
- Gitignored file for local customizations (e.g., device paths, env_file)
- Automatically merged when running `docker compose up`
### Ofelia Scheduler

View File

@@ -171,13 +171,18 @@ See `meshcore.conf.example` for all available options.
#### Serial Device Access
The container needs access to your USB serial device. Update `docker-compose.yml` if your device path differs:
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):
```yaml
devices:
- /dev/ttyACM0:/dev/ttyACM0:rwm # Adjust path as needed
# docker-compose.override.yml - Local overrides (not tracked in git)
services:
meshcore-stats:
devices:
- /dev/ttyACM0:/dev/ttyACM0:rw # Your device path
```
This file is automatically merged with `docker-compose.yml` when running `docker compose up`.
On the host, ensure the device is accessible:
```bash
@@ -191,7 +196,7 @@ sudo usermod -a -G dialout $USER
For local development with live code changes:
```bash
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 mounts `src/` and `scripts/` into the container, so changes take effect immediately without rebuilding.