websysd
Like Marathon or Upstart, for your desktop!
Getting started
Download a binary release, or run it with Docker:
docker run -v `pwd`/workspace.json:/workspace.json -v `pwd`/websysd.json:/websysd.json iankent/websysd -workspace=/workspace.json
- Optionally set a global environment - see websysd.json for an example
- Create a JSON workspace file - see workspace.json for an example
- Start
websysd
- Open http://localhost:7050
If you didn't name your config files websysd.json
and workspace.json
:
websysd -global websysd.local.json -workspace myworkspace.json
And if you want to load multiple workspaces:
websysd -workspace myworkspace.json -workspace someproject.json
Why
Too many console windows.
Useful info
- Active tasks will be killed if
websysd
dies or is stopped - Use the
/bin/sh -c
executor on Linux - Use custom columns and functions to add UI metadata, e.g. display git branch name
- see examples in websysd.json and workspace.json
Environment
Default websysd behaviour is to ignore all preset environment variables.
This means you will need to set any variables you want explicitly (including $PATH
,
which you might want to set to /bin:/usr/bin:/usr/local/bin
).
You can change this behaviour by setting InheritEnvironment
in either the global
configuration or a workspace configuration file:
{
"InheritEnvironment": true
}
If InheritEnvironment
is true in the global workspace, the setting is ignored by
individual workspaces and the full environment will be inherited anyway.
STDOUT/STDERR logs
Output from tasks is stored in-memory by default.
You can set Stdout
and Stderr
to a filename per-task to override this behaviour.
Filenames can include environment variables, and $TASK
and $RUN
are set by websysd.
{
"Stdout": "/tmp/$TASK-$RUN.out"
}
Screenshots
Licence
Copyright © 2014 - 2016, Ian Kent (http://iankent.uk).
Released under MIT license, see LICENSE for details.