Skip to main content

Important Raspberry Pi Locations for Pioreactor Images

Reference list of on-device paths that matter once a custom Pioreactor Raspberry Pi OS image is flashed and running.

PathWhat lives hereNotes
/etc/pioreactor.envShared environment file exported to servicesProvides canonical DOT_PIOREACTOR, RUN_PIOREACTOR, LG_WD, and virtualenv paths so systemd units pick up the same locations.
/home/pioreactor/.pioreactor/Pioreactor home ($DOT_PIOREACTOR)Contains configs, plugins, storage, hardware definitions, logs, and other per-device state. Ensure ownership stays pioreactor:pioreactor.
/home/pioreactor/.pioreactor/config.iniCluster-wide configurationHolds network, MQTT, UI, logging, and automation settings replicated to workers.
/home/pioreactor/.pioreactor/unit_config.iniUnit overridesOptional per-device overrides synced from the leader when a worker is added.
/home/pioreactor/.pioreactor/plugins/Plugin rootMirrors the .pioreactor layout for plugin-provided files; typically subdivided into python/, ui/, exportable_datasets/, etc.
/home/pioreactor/.pioreactor/plugins/ui/UI plugin assetsStatic contrib YAML, templates, and other UI resources merged into the Pioreactor UI.
/home/pioreactor/.pioreactor/plugins/exportable_datasets/Exportable dataset pluginsEach plugin ships SQL queries or serializers that surface new datasets to the UI.
/home/pioreactor/.pioreactor/storage/Persistent databasesHolds SQLite data such as pioreactor.sqlite (experiments) and local_persistent_pioreactor_metadata.sqlite.
/home/pioreactor/.pioreactor/storage/pioreactor.sqlitePrimary experiment databaseUsed by the leader, replicated to workers for durability. Back up before major upgrades.
/home/pioreactor/.pioreactor/storage/local_persistent_pioreactor_metadata.sqlitePersistent cacheStores long-lived metadata that survives reboots.
/home/pioreactor/.pioreactor/hardware/Hardware definition packsYAML that describes hats, models, sensors, and calibration values consumed by the Pioreactor hardware subsystem.
/home/pioreactor/.pioreactor/experiment_profiles/User experiment profilesDrop .py / .json profile definitions here so they show up in the UI for scheduling.
/home/pioreactor/.ssh/Device SSH keysCreated during image build so leaders can add workers securely.
/run/pioreactor/Runtime scratch space ($RUN_PIOREACTOR)tmpfs directory for caches, sockets, Huey queues, and general runtime coordination. Cleared on reboot.
/run/pioreactor/cache/Volatile cachesIncludes local_intermittent_pioreactor_metadata.sqlite and UI/Huey cache files that can be safely discarded.
/run/pioreactor/exports/Web export stagingLighttpd serves /exports/ from here so downloads never touch persistent storage.
/var/log/pioreactor.logSystem log for Pioreactor servicesConfigured via config.ini and read by both CLI and UI. Rotate with journald/logrotate as needed.
/opt/pioreactor/venv/System Python virtual environmentHosts the Pioreactor Python installation (pio, pios, services). Activate manually for debugging.
/home/pioreactor/.local/bin/User-level executablesSupplementary scripts installed via pip --user.
/tmp/Temporary workspaceReferenced by TMPDIR in pioreactor.env for short-lived files outside tmpfs.