Release layout
The release _volumes directory is the portable automation workspace:
_volumes/
├── __lua_scripts/
│ ├── __TEMPLATE.lua
│ ├── examples/
│ ├── production/
│ └── headers/
├── __json_scripts/
├── __python_scripts/
├── _plugins/
├── _dependencies/
├── _iodds/
└── config/
| Directory | Purpose |
|---|---|
__lua_scripts |
Lua templates, examples, production scripts, and editor headers |
__json_scripts |
Command scripts and recorded interactive output |
__python_scripts |
Python examples and type information |
_plugins |
Generated and supplied driver assemblies |
_dependencies |
Assemblies required by plugins and code generation |
_iodds |
IODD source files |
config |
Protocol-specific configuration such as Modbus and EtherNet/IP |
Keep the complete tree when using generated device plugins. A script may load assemblies and headers indirectly.
Uploaded automation workspace
For a script named temperature.lua, the Setup Tool creates a remote layout similar to:
~/.bfc/containers/BFC-temperature/
└── _volumes/
└── __lua_scripts/
└── temperature.lua
The parent directory is mounted at /mnt/fog, so BFC Console discovers:
/mnt/fog/_volumes
Deleting that Console container through the Setup Tool also removes its remote workspace.
Setup Tool files on the controller
The Setup Tool maintains:
~/.bfc/conf.json
~/.bfc/scripts/
~/.bfc/files/
~/.bfc/containers/
These contain detected configuration, synchronized helper scripts, uploaded packages, and per-automation workspaces.
Persistent Docker volumes
MariaDB and Node-RED data live in named Docker volumes:
bfc-mariadb
bfc-nodered
Container deletion does not automatically remove these volumes. Back them up before upgrades or destructive maintenance.
Logs
Container stdout/stderr is available through the Setup Tool Console view or docker logs. The BFC runtime may also create log or cache files relative to its mounted workspace, depending on script and release configuration.
Do not edit files inside a running container's writable layer as a deployment method. Update the local _volumes source, then upload a new script workspace so the change is reproducible.