Quick Start

If you follow this guid, by the end you should be able to run kbase-ui on your host system.

Prerequisites

Read the prerequisites guide to ensure your host machine is up to snuff.

macOS

  1. A kbase-ui project requires a dedicated directory, into which you will clone the repos you are working with.

  2. open a terminal into this folder, either the built-in Terminal program, iTerm, or your terminal app of choice.

  3. Clone the kbase/kbase-ui repo into this folder:
    git clone -b develop https://github.com/kbase/kbase-ui
    
  4. Create and launch the kbase-ui image:

    make dev-start
    
  5. Since that container is now running in the terminal, you’ll need to open a new terminal window.

  6. Point ci.kbase.us to your local computer:

    Edit

    sudo vi /etc/hosts
    

    adding the line

    127.0.0.1	ci.kbase.us
    

    at the end of the file, then save it [Shift][Z][Z]

  7. Open a browser to https://ci.kbase.us

  8. Since the proxy uses a self-signed certificate to support https, your browser will likely complain. Just suffer through the prompts to allow the connection to proceed.1

    For a nicer workflow, you should consider installing a local KBase certificate with mkcert.

  9. You should now see kbase-ui 😊

  10. When done, you can simply press [Control][C] in the original terminal window to stop the containers.2

  11. If you won’t be conducting further builds for this instance, you’ll want to clear out the intermediate build image:3

    make dev-clean
    

Linux

[ to do ]

Windows 10

[ to do ]

Next Steps

  • Workflows documents specific development tasks

-–

  1. If your browser hangs when attempting to connect, you should have better luck using the private mode of your browser. Both Safari and Chrome work fine in private mode with self-signed certs, Firefox will still hang. 

  2. Currently docker-compose does not always clean up after itself when using [Control][C] to stop it; see this github issue

  3. This also removes the Docker network “kbase-dev” created during image-building process.