- Switch API reload to `NewRootedDiskFilesystem(Root: ".")` for cwd-relative ops
- Use `NewString` for RTMP.App/FFmpeg.Binary (drop absolute/exec enforcement)
- Remove absolute path resolution in JSON config store
- Improve `diskFilesystem.LookPath`: use `filepath.IsAbs`, add Windows `.exe` suffix
- Simplify FFmpeg skills init error handling
Allows portable execution from any dir (e.g., containers), fixes Windows compat.
created_at represents the time when the configuration has been persisted to disk.
loaded_at represents the time when the configuration has actually been used.
If created_at is larger than loaded_at, then the Core needs a reload in order
to apply the latest configuration.
if created_at is lower than laoded_at, then the Core applied the latest
configuration.
The value of updated_at is irrelevant and shouldn't be used.
If no path is given in the environment variable CORE_CONFIGFILE, different
standard locations will be probed:
- os.UserConfigDir() + /datarhei-core/config.js
- os.UserHomeDir() + /.config/datarhei-core/config.js
- ./config/config.js
If the config.js doesn't exist in any of these locations, it will be
assumed at ./config/config.js