Position Log

Persistent station position history across restarts

By default, graywolf keeps station positions in memory only — a restart clears the live map. The position log feature writes station data to a separate SQLite database so the map is populated immediately after a restart. Positions are retained for 30 days and automatically pruned.

Enabling the Position Log

Open Settings → Position Log in the web UI, toggle Enable persistent position log, and optionally change the database path. Click Save. The change takes effect immediately — no restart required.

The database file is created automatically if it does not exist. This is important for RAM disk setups where the file disappears on every reboot.

The position log is disabled by default. If your system runs from an SD card (common on Raspberry Pi), do not enable it with the default path. See the section below for safe setup instructions.

Raspberry Pi & SD Card Considerations

SD cards have a limited number of write cycles. The position log writes to SQLite every time a new station packet is decoded — typically a few times per minute on a 1200 baud channel, but potentially more on busy frequencies or when connected to APRS-IS. Over weeks and months, this can shorten the life of an SD card.

Use a RAM disk

The simplest solution is to store the history database on a tmpfs (RAM disk). Raspberry Pi OS mounts /tmp as tmpfs by default. You can verify this:

df -h /tmp
# Look for "tmpfs" in the Filesystem column

# Or:
mount | grep /tmp

If /tmp is not a tmpfs, you can add one to /etc/fstab:

tmpfs /tmp tmpfs defaults,noatime,size=64M 0 0

Then reboot or run sudo mount -a.

Configure the database path

In the web UI under Settings → Position Log, set the database path to:

/tmp/graywolf-history.db

Alternatively, if graywolf runs as a systemd service, you can set the path via a unit override so it takes effect before the web UI is available:

sudo systemctl edit graywolf

This opens an override file. Add:

[Service]
Environment="GRAYWOLF_HISTORY_DB=/tmp/graywolf-history.db"

Then restart: sudo systemctl restart graywolf.

What happens on reboot?

With a RAM disk, the history database is lost on every reboot. This is expected and harmless — graywolf recreates the database automatically on startup. The map simply starts empty and fills in as stations are heard. On an active frequency the map is typically well-populated within a few minutes.