A lightweight toolkit for local development with Docker

Build Status Coverage Status codecov

Harpoon makes it easy to run a local/offline development environment composed of Docker containers. It's an ideal choice for those that don't wish to run a full container management or orchestration platform on their workstation.

At its core, Harpoon is a set of bash scripts that provide an interface for running project-related tasks. Harpoon includes a collection of common services, which are essentially wrappers around Docker Compose configurations. All Harpoon services are designed to work together on a Docker network (named harpoon by default), with web-based services registering automatically with a proxy server (Traefik). The use of dnsmasq enables accessing services "externally" via one or more domains (.harpoon by default). Internal name resolution and service discovery (.service.int.harpoon) is supported with Consul and Registrator, as well as Docker's own internal DNS server.

Harpoon has been tested with:

Requirements

  • Bash 4 (bash) or ZSH (zsh)
    • macOS users should upgrade bash with Homebrew: brew install bash
  • Docker (docker)
  • Docker Compose (docker-compose)

Quick Start

  1. curl https://raw.githubusercontent.com/wheniwork/harpoon/master/install.sh | bash
  2. Optional: Load completion scripts by adding which harpoon > /dev/null && . "$(harpoon initpath)" to your profile (~/.bashrc, ~/.bash_profile, ~/.zshrc).

Documentation

TODO

  • Consul + Traefik tips
  • Documentation
    • Plugins
    • Bundled tasks

Contributing

  • If you experience an issue and are relatively certain that harpoon is the culprit, please report it.
    • Issues requesting support specifically for any of the core or supporting services will not be processed.
  • PRs are welcome 🙂

results matching ""

    No results matching ""