Skip to content

Releases: dlweeks/PotaTrip

POTATrip v2.0.2 — Log rotation

Choose a tag to compare

@dlweeks dlweeks released this 05 Oct 10:15

What's new

Log rotation

The package now installs /etc/logrotate.d/potatrip and Depends on logrotate:

  • rotates /var/lib/potatrip/pota_trip_log.txt daily or at 10 MB
  • keeps 7 rotations, gzip-compressed
  • copytruncate — works with the running app without a reopen hook

Previously the app's own log file grew unbounded — a slow disk-fill risk on a
publicly reachable instance.

Upgrade on the Pi

wget https://github.com/dlweeks/PotaTrip/releases/download/v2.0.2/potatrip_2.0.2_all.deb
sudo dpkg -i potatrip_2.0.2_all.deb
# verify:
logrotate -d /etc/logrotate.d/potatrip

Verify

94 tests passing. Package verified: logrotate config present, Depends wired.
CDDL-1.1, (c) N5SKT.

POTATrip v2.0.1 — Raspberry Pi & 44Net hosting

Choose a tag to compare

@dlweeks dlweeks released this 05 Oct 04:11

What's new

Architecture-independent .deb

The package now ships no pre-built binaries — the Python venv is built on the
install target at install time (postinst runs python3 -m venv + pip install).
One package (potatrip_2.0.1_all.deb) serves amd64 and arm64, including
Raspberry Pi OS Bookworm. App installs to /opt/PotaTrip with .venv;
dpkg -P purge removes it.

Documentation

  • PI-INSTALL.md — full Raspberry Pi install guide (prerequisites, install,
    verification, config, upgrade/purge)
  • 44NET-HOSTING.md — publishing POTATrip on a public amateur-radio
    44Net address via a 44Net Connect WireGuard tunnel terminated on a
    GL.iNet router: UCI port-forward setup, external testing, and a
    troubleshooting guide that localizes faults fast. Tested on the
    GL.iNet Beryl AX (GL-MT3600BE) — available on Amazon

Quick start (Raspberry Pi)

sudo apt-get install -y python3-venv python3-pip
wget https://github.com/dlweeks/PotaTrip/releases/download/v2.0.1/potatrip_2.0.1_all.deb
sudo dpkg -i potatrip_2.0.1_all.deb
systemctl status potatrip   # app at http://<pi-ip>:5001

Verify

94 tests passing (pytest). Install-verified end-to-end (dpkg -> venv build ->
service active -> /health ok). CDDL-1.1, (c) N5SKT.

POTATrip v2.0.0 — Road Trip

Choose a tag to compare

@dlweeks dlweeks released this 04 Oct 16:56

What's new

Road Trip tab (v2.0.0)

  • Plan point-to-point driving trips: enter origin, destination, and corridor width
  • Finds active POTA parks along the route (OSRM routing, free — no API key)
  • Candidate parks listed with checkboxes; pick your stops and get a Google Maps route with numbered waypoints (10-stop cap enforced)
  • Each park links to its pota.app page; off-route distance shown per stop

Configurable activation hours (v1.9.0)

  • Hours per park now user-settable (default 2h, range 0.5-12h)

Fixes

  • Corridor input: step=5 rejected valid values like 25 — now step=any with server-side cap

Raspberry Pi

potatrip_2.0.0_all.deb is architecture-independent: it ships no pre-built binaries.
The Python venv is built on the target at install time with the system python3, so the
same package works on Raspberry Pi OS (arm64/32-bit) and x86_64.

sudo apt-get install -y python3-venv python3-pip
sudo dpkg -i potatrip_2.0.0_all.deb
systemctl status potatrip   # app at http://<pi-ip>:5001

Full guide (incl. routing the Pi through a 44.net WireGuard VPN on a GL.iNet router):
PI-INSTALL.md

Verify

94 tests passing (pytest). CDDL-1.1, (c) N5SKT.

POTATrip v1.9.0 — Hours-per-park you control

Choose a tag to compare

@dlweeks dlweeks released this 02 Oct 13:57

What's new

  • Configurable activation time per park. In Driving-time mode a new 'Hours per park' field appears (0.5-12h, default 2h). Your time budget now uses your activation time instead of the fixed 2 hours - e.g. a 3h-per-park operator can set 3 and plan accordingly.
  • API: optional activation_hours field on /plan_trip (both new-mode and legacy APIs).
  • Validation: positive, <= 12h, clear 400 errors otherwise.

Install

git clone https://github.com/dlweeks/PotaTrip.git
cd PotaTrip && pip install -r requirements.txt
python app.py

License

CDDL 1.1 - Copyright (c) 2026 Don L. Weeks, N5SKT.

POTATrip v1.8.1 — Error UX fixes + bad-coordinate crash fix

Choose a tag to compare

@dlweeks dlweeks released this 02 Oct 12:08

v1.8.1

  • Frontend now shows the server's actual error message instead of a misleading 'Network error: HTTP error! status: 400' (the reported Fairbanks case was an unfindable location: 'Fairbanks Alask').
  • Friendly 'No parks fit your criteria near X' message when results are empty.
  • Unit toggle greys out in hours mode with a tooltip (driving time is unit-independent).
  • Crash fix: upstream POTA CSV rows with latitude > 90 no longer break distance math.

v1.8.0

  • Single-choice trip constraint UI: Radius / Driving time / Trip distance radio cards with plain-language hints.
  • mi/km unit toggle; km converts to internal miles on input and results display back in the selected unit.

Earlier

  • v1.7.0: security hardening — per-IP rate limiting, bounded LRU geocode cache, constraint caps, input sanitizer, CSP/security headers.
  • v1.6.0: CDDL 1.1 license, version history, author credit (N5SKT).
  • v1.5.1: reject non-settlement geocode matches (invalid cities like 'Manta, TX' no longer return phantom parks).

Install

git clone https://github.com/dlweeks/PotaTrip.git
cd PotaTrip && pip install -r requirements.txt
python app.py

See README.md and docs/ for Debian packaging and systemd deployment.

License

CDDL 1.1 — Copyright (c) 2026 Don L. Weeks, N5SKT.