No description
Find a file
2020-04-13 16:25:38 +02:00
.github/workflows Rename CI pipeline name 2020-03-03 22:01:33 +01:00
doc Merge tag 'add-documentation-for-config' into develop 2020-04-13 16:25:38 +02:00
spec Add initial spec files 2020-03-02 00:21:33 +01:00
src Add basic support for TransferDeploymentConfig: DockerImageEndpointConfig --> DokkuAppEndpointConfig 2020-04-13 16:12:55 +02:00
.editorconfig Add configuration 2020-03-02 00:21:41 +01:00
.gitignore Add configuration 2020-03-02 00:21:41 +01:00
.tool-versions Add configuration 2020-03-02 00:21:41 +01:00
.travis.yml Add configuration 2020-03-02 00:21:41 +01:00
LICENSE Initial import 2020-03-02 00:21:13 +01:00
Makefile Fix the broken wildcard in Makefile 2020-03-25 16:09:49 +01:00
pushokku.yml.sample Update sample file according to new config parser 2020-03-25 16:10:20 +01:00
README.md Add sample configuration config format & update README 2020-04-13 16:24:44 +02:00
shard.yml Initial import 2020-03-02 00:21:13 +01:00
TODO.md Add TODO file 2020-04-10 23:42:15 +02:00

Pushokku

Build

Push docker image to remote dokku server then deploy it

Prerequisites

Make sure you have crystal (>= 0.31) installed on your system.

Installation

Run the following command:

make build

Usage

Show help

$ ./pushokku --help
Welcome to Pushokku!
    -c CONFIG, --config=CONFIG       Use the following config file
    -f DOCKER_COMPOSE_YML, --config=DOCKER_COMPOSE_YML
                                     Use the following docker-compose file
    -v, --version                    Show version
    -h, --help                       Show help

Configuration

Add a .pushokku.yml file to the root directory of your projet, with the following content:

---
version: "2"

locals:

  # Some container you want to deploy
  - name: my-app
    type: docker_image
    docker_image: my-site-v2-wordpress_wordpress

  # Some database dump you want to deploy
  - name: my-db
    type: mysql_dump
    path: database.sql

remotes:

  # Some remote dokku server
  - name: testing-server
    user: debian
    host: dokku02.infra.example.com

deployments:

  # Associate local container with remote app
  - local: my-app
    remote: dokku-dokku02
    dokku_app:
      name: customer-my-site

  # Associate local dump with remote mariadb
  - local: my-db
    remote: testing-server
    dokku_mariadb:
      name: customer-my-appsandbox

  # Simply run `pushokku` and that's done!

Contributing

  1. Fork it (https://github.com/glenux/pushokku/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors