Lifeboat

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

Lifeboat User Interface
Docker Compose logs, filtered by service, in Lifeboat
Website https://uselifeboat.com/
Repository https://github.com/jplhomer/lifeboat
Category Developer Tools
Keywords docker compose containers
License MIT
Downloads latest-linux.yml latest-mac.json latest-mac.yml latest.yml lifeboat-0.7.0-mac.zip lifeboat-0.7.0-x86_64.AppImage Lifeboat-0.7.0.dmg lifeboat-setup-0.7.0.exe null.blockmap
Latest Release v0.7.0 - Better Terminal and Logs (v0.7.0)
Release Notes

lifeboat_commands_updated

This release features a complete overhaul of logs and terminals within Lifeboat! It aims to make logs much more readable and performant, and to make interacting with individual services a much more pleasant experience.

  • Enhancement: Lightning-fast, canvas-based log rendering. This is thanks in large part to the work done by the Visual Studio Code crew to implement this performant terminal work in their app. We're leveraging xterm.js under the hood for a more natural experience.
  • Enhancement: More interactive experience within the Commands tab. We're also leveraging the node-pty project to create a pseudo TTY interface between Lifeboat and each of your service's containers. This means you can run things like rails console, php artisan tinker and other interactive commands that would otherwise fail without a TTY shell. The commands tab has also been cleaned up to provide a more intuitive experience and prompt for running commands.
  • Bugfix: Sometimes project logs would print out N times after restarting the project N times. That won't happen anymore 👍

This release probably contains some bugs. I'm tracking them in the Issues tab, so please report them there.

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.

Something missing? Edit this app.