Lifeboat

An easy way to launch Docker Compose projects with a graphical user interface

lifeboat

A Docker UI for projects. Download for Mac, Windows and Linux from the Releases tab.

Screenshot of Lifeboat UI

Development

This is an Electron app, scaffolded with electron-vue.

  • You will need to have Node/Yarn installed locally.
  • You will need to have Docker for Mac or Docker for Windows installed and running. Older implementations of Docker, using docker-machine or boot2docker, are not supported.
  • You will need a test project with a valid docker-compose.yml file. Consider using one of the example Docker Compose projects to test.

Build Setup

# install dependencies
yarn install

# serve with hot reload at localhost:9080
yarn run dev

# build electron application for production
yarn run build

# quick build (.app only)
yarn run build:dir

# run unit tests
yarn test

# lint all JS/Vue component files in `src/`
yarn run lint

Writing Tests

Unit tests are written for Vue components and should be placed in the test/specs directory. Here are a few guides for writing tests using Lifeboat's setup:

  • Vue Test Utils: The library of tool used to test shallow copies of Vue components.
  • Expect: Part of Facebook's Jest testing suite. Used for assertions.
  • Sinon: Used for spies, mocks, stubs, and fake timers.

Troubleshooting

A valid Apple Developer ID signing certificate is required if you want to release a build. If you get an issue during code signing similar to ...resource fork, Finder information, or similar detritus not allowed, try inspecting which files are causing trouble with:

xattr -lr /path/to/lifeboat/

And clean up any files with:

xattr -cr /path/to/lifeboat/<optional pattern>

This project was generated with electron-vue@331f85f using vue-cli. Documentation about the original structure can be found here.

not_used
Lifeboat User Interface Lifeboat User Interface
Docker Compose logs, filtered by service, in Lifeboat Docker Compose logs, filtered by service, in Lifeboat

Something missing? Edit this app.