All Projects → labzero → Bootleg

labzero / Bootleg

Licence: mit
Simple deployment and server automation for Elixir.

Programming Languages

elixir
2628 projects

Projects that are alternatives of or similar to Bootleg

Phoenix Chat Example
💬 A Step-by-Step Beginners Tutorial for Building, Testing & Deploying a Chat app in Phoenix 1.5.5 🚀
Stars: ✭ 452 (+14.43%)
Mutual labels:  phoenix, deployment
phoenix example
An example Phoenix app with one-click deployments to different cloud services.
Stars: ✭ 62 (-84.3%)
Mutual labels:  phoenix, deployment
elixir cluster
Distributed Elixir Cluster on Render with libcluster and Mix Releases
Stars: ✭ 15 (-96.2%)
Mutual labels:  phoenix, deployment
Linuxdeploy
Install and run GNU/Linux on Android
Stars: ✭ 3,775 (+855.7%)
Mutual labels:  deployment
Meteor Now
Instantly deploy your Meteor apps with `meteor-now`
Stars: ✭ 339 (-14.18%)
Mutual labels:  deployment
Cipi
An Open Source Control Panel for your Cloud! Deploy and manage LEMP apps in one click!
Stars: ✭ 376 (-4.81%)
Mutual labels:  deployment
Vinyl Ftp
Blazing fast vinyl adapter for FTP
Stars: ✭ 385 (-2.53%)
Mutual labels:  deployment
Trampoline
Admin Spring Boot Locally
Stars: ✭ 325 (-17.72%)
Mutual labels:  deployment
Terraform
A simple plug for incrementally transforming an API into Phoenix. Check out the blog post:
Stars: ✭ 379 (-4.05%)
Mutual labels:  phoenix
Hammer
An Elixir rate-limiter with pluggable backends
Stars: ✭ 366 (-7.34%)
Mutual labels:  phoenix
Post Tuto Deployment
Build and deploy a machine learning app from scratch 🚀
Stars: ✭ 368 (-6.84%)
Mutual labels:  deployment
Gradle Play Publisher
GPP is Android's unofficial release automation Gradle Plugin. It can do anything from building, uploading, and then promoting your App Bundle or APK to publishing app listings and other metadata.
Stars: ✭ 3,690 (+834.18%)
Mutual labels:  deployment
Swarmlet
A self-hosted, open-source Platform as a Service that enables easy swarm deployments, load balancing, automatic SSL, metrics, analytics and more.
Stars: ✭ 373 (-5.57%)
Mutual labels:  deployment
Mix docker
Put your Elixir app production release inside minimal docker image
Stars: ✭ 335 (-15.19%)
Mutual labels:  deployment
Paper trail
Track and record all the changes in your database with Ecto. Revert back to anytime in history.
Stars: ✭ 380 (-3.8%)
Mutual labels:  phoenix
Ex rated
ExRated, the Elixir OTP GenServer with the naughty name that allows you to rate-limit calls to any service that requires it.
Stars: ✭ 328 (-16.96%)
Mutual labels:  phoenix
Bastille
Bastille is an open-source system for automating deployment and management of containerized applications on FreeBSD.
Stars: ✭ 377 (-4.56%)
Mutual labels:  deployment
Nelson
Automated, multi-region container deployment
Stars: ✭ 363 (-8.1%)
Mutual labels:  deployment
Phoenix
My Phoenix setup. Powerful, easy to customize, tuned for web development, adds a space switcher.
Stars: ✭ 350 (-11.39%)
Mutual labels:  phoenix
Machinery
State machine thin layer for structs (+ GUI for Phoenix apps)
Stars: ✭ 367 (-7.09%)
Mutual labels:  phoenix

Bootleg

CircleCI Hex.pm Packagist

Simple deployment and server automation for Elixir.

Bootleg is an Elixir application that attempts to simplify the building and deploying of Elixir application releases. The goal of this project is to provide an extensible framework that can support many different deployment scenarios with one common set of commands.

Installation

Add Distillery and Bootleg as dependencies to mix.exs:

def deps do
  [{:distillery, "~> 2.1.0", runtime: false},
   {:bootleg, "~> 0.13.0", runtime: false}]
end

Quick start

Create release configuration

If you're new to Distillery, run the init command to generate a rel/ folder and configuration:

mix distillery.init

Create deploy configuration

Similarly, Bootleg configuration can be generated:

mix bootleg.init

Configure the deploy configuration

First define a build server in config/deploy.exs:

use Bootleg.DSL

role :build, "build.example.com", 
  workspace: "/home/acme/build",
  user: "acme",
  identity: "~/.ssh/id_acme_rsa",
  silently_accept_hosts: true

Next, define application server(s) in config/deploy/production.exs:

use Bootleg.DSL

role :app, ["app1.example.com", "app2.example.com"],
  workspace: "/opt/acme",
  user: "acme",
  identity: "~/.ssh/id_acme_rsa",
  silently_accept_hosts: true

Build, deploy and start your application

Now you can proceed to build, deploy and start your application:

mix bootleg.build
mix bootleg.deploy
mix bootleg.start

This example was for building on a remote build server and deploying to one or more remote application servers, but Bootleg supports several other build and deployment strategies.

Help

Bootleg has online documentation available.

For detailed information about the Bootleg commands and their options, try mix bootleg help <command>.

The authors and contributors are frequently found on elixir-lang's Slack in the #bootleg channel. Come say hello!


Acknowledgments

Bootleg makes heavy use of the bitcrowd/SSHKit.ex library under the hood. We are very appreciative of the efforts of the bitcrowd team for both creating SSHKit.ex and being so attentive to our requests. We're also grateful for the opportunity to collaborate on ideas for both projects!

Contributing

We welcome all contributions to Bootleg, whether they're improving the documentation, implementing features, reporting issues or suggesting new features.

If you'd like to contribute documentation, please check the best practices for writing documentation.

LICENSE

Bootleg source code is released under the MIT License. Check the LICENSE file for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].