replaced inotify with a polling loop

This commit is contained in:
2026-03-05 09:03:18 -05:00
parent 32f52f3faf
commit 0c39445d71
3 changed files with 53 additions and 35 deletions

View File

@@ -31,7 +31,8 @@ CSV files are paired with their FIDI config by base name: `checking.json` + `che
- bash
- curl
- python3 (standard on Ubuntu)
- inotify-tools — for continuous file watching: `sudo apt-get install inotify-tools`
> `watch-imports.sh` uses polling rather than inotify, so it works on NFS and other network filesystems.
## Setup
@@ -53,14 +54,16 @@ chmod +x import.sh watch-imports.sh
All config lives in `.env` (never committed to git):
| Variable | Required | Default | Description |
|---------------------|----------|---------------|----------------------------------------------------------|
| `FIDI_URL` | Yes | — | URL of your FIDI instance, e.g. `http://localhost:8080` |
| `FIDI_SECRET` | No | — | FIDI `AUTO_IMPORT_SECRET` value |
| `FIDI_ACCESS_TOKEN` | No | — | Firefly III Personal Access Token |
| `IMPORT_DIR` | No | `./imports` | Directory with JSON configs and staged CSVs |
| `INCOMING_DIR` | No | `./incoming` | Drop zone for raw CSV files |
| `AUTO_IMPORT` | No | `false` | Run `import.sh` automatically after a file is staged |
| Variable | Required | Default | Description |
|---------------------|----------|---------------|--------------------------------------------------------------------|
| `FIDI_URL` | Yes | — | URL of your FIDI instance, e.g. `http://localhost:8080` |
| `FIDI_SECRET` | No | — | FIDI `AUTO_IMPORT_SECRET` value |
| `FIDI_ACCESS_TOKEN` | No | — | Firefly III Personal Access Token |
| `IMPORT_DIR` | No | `./imports` | Directory with JSON configs and staged CSVs |
| `INCOMING_DIR` | No | `./incoming` | Drop zone for raw CSV files |
| `AUTO_IMPORT` | No | `false` | Run `import.sh` automatically after a file is staged |
| `POLL_INTERVAL` | No | `10` | Seconds between directory scans |
| `FILE_STABLE_AGE` | No | `3` | Seconds a file must be unmodified before processing (upload guard) |
## Usage