• Stars
    star
    142
  • Rank 250,785 (Top 6 %)
  • Language
    Python
  • License
    MIT License
  • Created about 5 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Ansible modules for installing and configuring Dokku

Ansible Role: Dokku

Ansible Role Release Build Status

This Ansible role helps install Dokku on Debian/Ubuntu variants. Apart from installing Dokku, it also provides various modules that can be used to interface with dokku from your own Ansible playbooks.

Table Of Contents

Requirements

Minimum Ansible Version: 2.2

Platform Requirements

Supported Platforms

  • Ubuntu: xenial
  • Ubuntu: yakkety
  • Ubuntu: zesty
  • Ubuntu: artful
  • Ubuntu: bionic
  • Ubuntu: focal
  • Debian: stretch
  • Debian: buster
  • Debian: bullseye

Dependencies

  • geerlingguy.docker ansible role
  • nginxinc.nginx ansible role
  • Dokku (for library usage)

Role Variables

dokku_daemon_install

  • default: True
  • type: boolean
  • description: Whether to install the dokku-daemon

dokku_daemon_version

  • default: 0.0.2
  • type: string
  • description: The version of dokku-daemon to install

dokku_hostname

  • default: dokku.me
  • type: string
  • description: Hostname, used as vhost domain and for showing app URL after deploy

dokku_key_file

  • default: /root/.ssh/id_rsa.pub
  • type: string
  • description: Path on disk to an SSH key to add to the Dokku user (Will be ignored on dpkg-reconfigure)

dokku_manage_nginx

  • default: True
  • type: boolean
  • description: Whether we should manage the 00-default nginx site

dokku_packages_state

  • default: present
  • type: string
  • description: State of dokku packages. Accepts 'present' and 'latest'

dokku_plugins

  • default: {}
  • type: list
  • description: A list of plugins to install. The host must have network access to the install url, and git access if required. Plugins should be specified in the following format:
- name: postgres
  url: https://github.com/dokku/dokku-postgres.git

- name: redis
  url: https://github.com/dokku/dokku-redis.git

dokku_skip_key_file

  • default: false
  • type: string
  • description: Do not check for the existence of the dokku/key_file. Setting this to "true", will require you to manually add an SSH key later on.

dokku_users

  • default: null
  • type: list
  • description: A list of users who should have access to Dokku. This will not grant them generic SSH access, but rather only access as the dokku user. Users should be specified in the following format:
- name: Jane Doe
  username: jane
  ssh_key: JANES_PUBLIC_SSH_KEY
- name: Camilla
  username: camilla
  ssh_key: CAMILLAS_PUBLIC_SSH_KEY

dokku_version (deprecated)

  • default: ''
  • type: string
  • description: The version of dokku to install. Scheduled for deletion after 07/2021. Use dokku_packages_state instead.

dokku_vhost_enable

  • default: true
  • type: string
  • description: Use vhost-based deployments (e.g., .dokku.me)

dokku_web_config

  • default: false
  • type: string
  • description: Use web-based config for hostname and keyfile

herokuish_version (deprecated)

  • default: ''
  • type: string
  • description: The version of herokuish to install. Scheduled for deletion after 07/2021. Use dokku_packages_state instead.

plugn_version (deprecated)

  • default: ''
  • type: string
  • description: The version of plugn to install. Scheduled for deletion after 07/2021. Use dokku_packages_state instead.

sshcommand_version (deprecated)

  • default: ''
  • type: string
  • description: The version of sshcommand to install. Scheduled for deletion after 07/2021. Use dokku_packages_state instead.

Libraries

dokku_acl_app

Manage access control list for a given dokku application

Requirements

  • the dokku-acl plugin

Parameters

Parameter Choices/Defaults Comments
app
required
The name of the app
state Choices:
  • present (default)
  • absent
Whether the ACLs should be present or absent
users
required
The list of users who can manage the app

Example

- name: let leopold manage hello-world
  dokku_acl_app:
    app: hello-world
    users:
      - leopold
- name: remove leopold from hello-world
  dokku_acl_app:
    app: hello-world
    users:
      - leopold
    state: absent

dokku_acl_service

Manage access control list for a given dokku service

Requirements

  • the dokku-acl plugin

Parameters

Parameter Choices/Defaults Comments
service
required
The name of the service
state Choices:
  • present (default)
  • absent
Whether the ACLs should be present or absent
type
required
The type of the service
users
required
The list of users who can manage the service

Example

- name: let leopold manage mypostgres postgres service
  dokku_acl_service:
    service: mypostgres
    type: postgres
    users:
      - leopold
- name: remove leopold from mypostgres postgres service
  dokku_acl_service:
    service: hello-world
    type: postgres
    users:
      - leopold
    state: absent

dokku_app

Create or destroy dokku apps

Parameters

Parameter Choices/Defaults Comments
app
required
The name of the app
state Choices:
  • present (default)
  • absent
The state of the app

Example

- name: Create a dokku app
  dokku_app:
    app: hello-world

- name: Delete that repo
  dokku_app:
    app: hello-world
    state: absent

dokku_builder

Manage the builder configuration for a given dokku application

Parameters

Parameter Choices/Defaults Comments
app
required
The name of the app. This is required only if global is set to False.
global Default: False If the property being set is global
property
required
The property to be changed (e.g., build-dir, selected)
value The value of the builder property (leave empty to unset)

Example

- name: Overriding the auto-selected builder
  dokku_builder:
    app: node-js-app
    property: selected
    value: dockerfile
- name: Setting the builder to the default value
  dokku_builder:
    app: node-js-app
    property: selected
- name: Changing the build build directory
  dokku_builder:
    app: monorepo
    property: build-dir
    value: backend
- name: Overriding the auto-selected builder globally
  dokku_builder:
    global: true
    property: selected
    value: herokuish

dokku_certs

Manages ssl configuration for an app.

Parameters

Parameter Choices/Defaults Comments
app
required
The name of the app
cert
required
Path to the ssl certificate
key
required
Path to the ssl certificate key
state Choices:
  • present (default)
  • absent
The state of the ssl configuration

Example

- name: Adds an ssl certificate and key to an app
  dokku_certs:
    app: hello-world
    key: /etc/nginx/ssl/hello-world.key
    cert: /etc/nginx/ssl/hello-world.crt

- name: Removes an ssl certificate and key from an app
  dokku_certs:
    app: hello-world
    state: absent

dokku_checks

Manage the Zero Downtime checks for a dokku app

Parameters

Parameter Choices/Defaults Comments
app
required
The name of the app
state Choices:
  • present (default)
  • absent
The state of the checks functionality

Example

- name: Disable the zero downtime deployment
  dokku_checks:
    app: hello-world
    state: absent

- name: Re-enable the zero downtime deployment (enabled by default)
  dokku_checks:
    app: hello-world
    state: present

dokku_clone

Clone a git repository and deploy app.

Parameters

Parameter Choices/Defaults Comments
app
required
The name of the app
build Default: True Whether to build the app after cloning.
repository
required
Git repository url
version Git tree (tag or branch name). If not provided, default branch is used.

Example

- name: clone a git repository and build app
  dokku_clone:
      app: example-app
      repository: https://github.com/heroku/node-js-getting-started
      version: b10a4d7a20a6bbe49655769c526a2b424e0e5d0b
- name: clone specific tag from git repository and build app
  dokku_clone:
      app: example-app
      repository: https://github.com/heroku/node-js-getting-started
      version: b10a4d7a20a6bbe49655769c526a2b424e0e5d0b
- name: sync git repository without building app
  dokku_clone:
      app: example-app
      repository: https://github.com/heroku/node-js-getting-started
      build: false

dokku_config

Manage environment variables for a given dokku application

Parameters

Parameter Choices/Defaults Comments
app
required
The name of the app
config
required
Default: {} A map of environment variables where key => value
restart Default: True Whether to restart the application or not. If the task is idempotent then setting restart to true will not perform a restart.

Example

- name: set KEY=VALUE
  dokku_config:
    app: hello-world
    config:
      KEY: VALUE_1
      KEY_2: VALUE_2

- name: set KEY=VALUE without restart
  dokku_config:
    app: hello-world
    restart: false
    config:
      KEY: VALUE_1
      KEY_2: VALUE_2

dokku_docker_options

Manage docker-options for a given dokku application

Parameters

Parameter Choices/Defaults Comments
app
required
The name of the app
option
required
A single docker option
phase Choices:
  • build
  • deploy
  • run
The phase in which to set the options
state Choices:
  • present (default)
  • absent
The state of the docker options

Example

- name: docker-options:add hello-world deploy
  dokku_docker_options:
    app: hello-world
    phase: deploy
    option: "-v /var/run/docker.sock:/var/run/docker.sock"

- name: docker-options:remove hello-world deploy
  dokku_docker_options:
    app: hello-world
    phase: deploy
    option: "-v /var/run/docker.sock:/var/run/docker.sock"
    state: absent

dokku_domains

Manages domains for a given application

Parameters

Parameter Choices/Defaults Comments
app
required
The name of the app. This is required only if global is set to False.
domains
required
A list of domains
global Default: False Whether to change the global domains or app-specific domains.
state Choices:
  • enable
  • disable
  • clear
  • present (default)
  • absent
  • set
The state of the application's domains

Example

# Adds domain, inclusive
- name: domains:add hello-world dokku.me
  dokku_domains:
    app: hello-world
    domains:
      - dokku.me

# Removes listed domains, but leaves others unchanged
- name: domains:remove hello-world dokku.me
  dokku_domains:
    app: hello-world
    domains:
      - dokku.me
    state: absent

# Clears all domains
- name: domains:clear hello-world
  dokku_domains:
    app: hello-world
    state: clear

# Enables the VHOST domain
- name: domains:enable hello-world
  dokku_domains:
    app: hello-world
    state: enable

# Disables the VHOST domain
- name: domains:disable hello-world
  dokku_domains:
    app: hello-world
    state: disable

# Sets the domain for the app, clearing all others
- name: domains:set hello-world dokku.me
  dokku_domains:
    app: hello-world
    domains:
      - dokku.me
    state: set

dokku_git_sync

Manages syncing git code from a remote repository for an app

Requirements

  • the dokku-git-sync plugin (commercial)

Parameters

Parameter Choices/Defaults Comments
app
required
The name of the app
remote The git remote url to use
state Choices:
  • present (default)
  • absent
The state of the git-sync integration

Example

- name: git-sync:enable hello-world
  dokku_git_sync:
    app: hello-world
    remote: [email protected]:hello-world/hello-world.git

- name: git-sync:disable hello-world
  dokku_git_sync:
    app: hello-world
    state: absent

dokku_global_cert

Manages global ssl configuration.

Requirements

  • the dokku-global-cert plugin

Parameters

Parameter Choices/Defaults Comments
cert
required
Path to the ssl certificate
key
required
Path to the ssl certificate key
state Choices:
  • present (default)
  • absent
The state of the ssl configuration

Example

- name: Adds an ssl certificate and key
  dokku_global_cert:
    key: /etc/nginx/ssl/global-hello-world.key
    cert: /etc/nginx/ssl/global-hello-world.crt

- name: Removes an ssl certificate and key
  dokku_global_cert:
    state: absent

dokku_http_auth

Manage HTTP Basic Authentication for a dokku app

Requirements

  • the dokku-http-auth plugin

Parameters

Parameter Choices/Defaults Comments
app
required
The name of the app
password The HTTP Auth Password (required for 'present' state)
state Choices:
  • present (default)
  • absent
The state of the http-auth plugin
username The HTTP Auth Username (required for 'present' state)

Example

- name: Enable the http-auth plugin
  dokku_http_auth:
    app: hello-world
    state: present
    username: samsepi0l
    password: hunter2

- name: Disable the http-auth plugin
  dokku_http_auth:
    app: hello-world
    state: absent

dokku_image

Pull Docker image and deploy app

Parameters

Parameter Choices/Defaults Comments
app
required
The name of the app
build_dir Specify custom build directory for a custom build context
image
required
Docker image
user_email Git user.email for customizing the author's email
user_name Git user.name for customizing the author's name

Example

- name: Pull and deploy meilisearch
  dokku_image:
      app: meilisearch
      image: getmeili/meilisearch:v0.24.0rc1
- name: Pull and deploy image with custom author
  dokku_image:
      app: hello-world
      user_name: Elliot Alderson
      user_email: [email protected]
      image: hello-world:latest
- name: Pull and deploy image with custom build dir
  dokku_image:
      app: hello-world
      build_dir: /path/to/build
      image: hello-world:latest

dokku_letsencrypt

Enable or disable the letsencrypt plugin for a dokku app

Requirements

  • the dokku-letsencrypt plugin

Parameters

Parameter Choices/Defaults Comments
app
required
The name of the app
state Choices:
  • present (default)
  • absent
The state of the letsencrypt plugin

Example

- name: Enable the letsencrypt plugin
  dokku_letsencrypt:
    app: hello-world

- name: Disable the letsencrypt plugin
  dokku_letsencrypt:
    app: hello-world
    state: absent

dokku_network

Create or destroy container networks for dokku apps

Parameters

Parameter Choices/Defaults Comments
name
required
The name of the network
state Choices:
  • present (default)
  • absent
The state of the network

Example

- name: Create a network
  dokku_network:
    name: example-network

- name: Delete that network
  dokku_network:
    name: example-network
    state: absent

dokku_network_property

Set or clear a network property for a given dokku application

Parameters

Parameter Choices/Defaults Comments
app
required
The name of the app. This is required only if global is set to False.
global Default: False Whether to change the global network property
property
required
The network property to be be modified. This can be any property supported by dokku (e.g., initial-network, attach-post-create, attach-post-deploy, bind-all-interfaces, static-web-listener, tld).
value The value of the network property (leave empty to unset)

Example

- name: Associates a network after a container is created but before it is started
  dokku_network_property:
    app: hello-world
    property: attach-post-create
    value: example-network

- name: Associates the network at container creation
  dokku_network_property:
    app: hello-world
    property: initial-network
    value: example-network

- name: Setting a global network property
  dokku_network_property:
    global: true
    property: attach-post-create
    value: example-network

- name: Clearing a network property
  dokku_network_property:
    app: hello-world
    property: attach-post-create

dokku_ports

Manage ports for a given dokku application

Parameters

Parameter Choices/Defaults Comments
app
required
The name of the app
mappings
required
A list of port mappings
state Choices:
  • clear
  • present (default)
  • absent
The state of the port mappings

Example

- name: proxy:ports-set hello-world http:80:80
  dokku_ports:
    app: hello-world
    mappings:
        - http:80:8080

- name: proxy:ports-remove hello-world http:80:80
  dokku_ports:
    app: hello-world
    mappings:
        - http:80:8080
    state: absent

- name: proxy:ports-clear hello-world
  dokku_ports:
    app: hello-world
    state: clear

dokku_proxy

Enable or disable the proxy for a dokku app

Parameters

Parameter Choices/Defaults Comments
app
required
The name of the app
state Choices:
  • present (default)
  • absent
The state of the proxy

Example

- name: Enable the default proxy
  dokku_proxy:
    app: hello-world

- name: Disable the default proxy
  dokku_proxy:
    app: hello-world
    state: absent

dokku_ps_scale

Manage process scaling for a given dokku application

Parameters

Parameter Choices/Defaults Comments
app
required
The name of the app
scale
required
Default: {} A map of scale values where proctype => qty
skip_deploy Default: False Whether to skip the corresponding deploy or not. If the task is idempotent then leaving skip_deploy as false will not trigger a deploy.

Example

- name: scale web and worker processes
  dokku_ps_scale:
    app: hello-world
    scale:
      web: 4
      worker: 4

- name: scale web and worker processes without deploy
  dokku_ps_scale:
    app: hello-world
    skip_deploy: true
    scale:
      web: 4
      worker: 4

dokku_registry

Manage the registry configuration for a given dokku application

Requirements

  • the dokku-registry plugin

Parameters

Parameter Choices/Defaults Comments
app
required
The name of the app
image Alternative to app name for image repository name
password The registry password (required for 'present' state)
server The registry server hostname (required for 'present' state)
state Choices:
  • present (default)
  • absent
The state of the registry integration
username The registry username (required for 'present' state)

Example

- name: registry:enable hello-world
  dokku_registry:
    app: hello-world
    password: password
    server: localhost:8080
    username: user

- name: registry:enable hello-world with args
  dokku_registry:
    app: hello-world
    image: other-image
    password: password
    server: localhost:8080
    username: user

- name: registry:disable hello-world
  dokku_registry:
    app: hello-world
    state: absent

dokku_resource_limit

Manage resource limits for a given dokku application

Parameters

Parameter Choices/Defaults Comments
app
required
The name of the app
clear_before Choices:
  • True
  • False (default)
Clear all resource limits before applying
process_type The process type selector
resources The Resource type and quantity (required when state=present)
state Choices:
  • present (default)
  • absent
The state of the resource limits

Example

- name: Limit CPU and memory of a dokku app
  dokku_resource_limit:
    app: hello-world
    resources:
      cpu: 100
      memory: 100

- name: name: Limit resources per process type of a dokku app
  dokku_resource_limit:
    app: hello-world
    process_type: web
    resources:
      cpu: 100
      memory: 100

- name: Clear limits before applying new limits
  dokku_resource_limit:
    app: hello-world
    state: present
    clear_before: True
    resources:
      cpu: 100
      memory: 100

- name: Remove all resource limits
  dokku_resource_limit:
    app: hello-world
    state: absent

dokku_resource_reserve

Manage resource reservations for a given dokku application

Parameters

Parameter Choices/Defaults Comments
app
required
The name of the app
clear_before Choices:
  • True
  • False (default)
Clear all reserves before apply
process_type The process type selector
resources The Resource type and quantity (required when state=present)
state Choices:
  • present (default)
  • absent
The state of the resource reservations

Example

- name: Reserve CPU and memory for a dokku app
  dokku_resource_reserve:
    app: hello-world
    resources:
      cpu: 100
      memory: 100

- name: Create a reservation per process type of a dokku app
  dokku_resource_reserve:
    app: hello-world
    process_type: web
    resources:
      cpu: 100
      memory: 100

- name: Clear all reservations before applying
  dokku_resource_reserve:
    app: hello-world
    state: present
    clear_before: True
    resources:
      cpu: 100
      memory: 100

- name: Remove all resource reservations
  dokku_resource_reserve:
    app: hello-world
    state: absent

dokku_service_create

Creates a given service

Parameters

Parameter Choices/Defaults Comments
name
required
The name of the service
service
required
The type of service to create

Example

- name: redis:create default
  dokku_service_create:
    name: default
    service: redis

- name: postgres:create default
  dokku_service_create:
    name: default
    service: postgres

- name: postgres:create default with custom image
  environment:
    POSTGRES_IMAGE: postgis/postgis
    POSTGRES_IMAGE_VERSION: 13-master
  dokku_service_create:
    name: default
    service: postgres

dokku_service_link

Links and unlinks a given service to an application

Parameters

Parameter Choices/Defaults Comments
app
required
The name of the app
name
required
The name of the service
service
required
The type of service to link
state Choices:
  • present (default)
  • absent
The state of the service link

Example

- name: redis:link default hello-world
  dokku_service_link:
    app: hello-world
    name: default
    service: redis

- name: postgres:link default hello-world
  dokku_service_link:
    app: hello-world
    name: default
    service: postgres

- name: redis:unlink default hello-world
  dokku_service_link:
    app: hello-world
    name: default
    service: redis
    state: absent

dokku_storage

Manage storage for dokku applications

Parameters

Parameter Choices/Defaults Comments
app The name of the app
create_host_dir Default: False Whether to create the host directory or not
group Default: 32767 A group or gid that should own the created folder
mounts Default: [] A list of mounts to create, colon (:) delimited, in the format: host_dir:container_dir
state Choices:
  • present (default)
  • absent
The state of the service link
user Default: 32767 A user or uid that should own the created folder

Example

- name: mount a path
  dokku_storage:
    app: hello-world
    mounts:
      - /var/lib/dokku/data/storage/hello-world:/data

- name: mount a path and create the host_dir directory
  dokku_storage:
    app: hello-world
    mounts:
      - /var/lib/dokku/data/storage/hello-world:/data
    create_host_dir: true

- name: unmount a path
  dokku_storage:
    app: hello-world
    mounts:
      - /var/lib/dokku/data/storage/hello-world:/data
    state: absent

- name: unmount a path and destroy the host_dir directory (and contents)
  dokku_storage:
    app: hello-world
    mounts:
      - /var/lib/dokku/data/storage/hello-world:/data
    destroy_host_dir: true
    state: absent

Example Playbooks

Installing Dokku

---
- hosts: all
  roles:
    - dokku_bot.ansible_dokku

Installing Plugins

---
- hosts: all
  roles:
    - dokku_bot.ansible_dokku
  vars:
    dokku_plugins:
      - name: clone
        url: https://github.com/crisward/dokku-clone.git
      - name: postgres
        url: https://github.com/dokku/dokku-postgres.git

Deploying a simple word inflector

---
- hosts: all
  roles:
    - dokku_bot.ansible_dokku
  tasks:
    - name: dokku apps:create inflector
      dokku_app:
        app: inflector

    - name: dokku clone inflector
      dokku_clone:
        app: inflector
        repository: https://github.com/cakephp/inflector.cakephp.org

Setting up a Small VPS with a Dokku App

---
- hosts: all
  roles:
    - dokku_bot.ansible_dokku
    - geerlingguy.swap
  vars:
    # If you are running dokku on a small VPS, you'll most likely
    # need some swap to ensure you don't run out of RAM during deploys
    swap_file_size_mb: '2048'
    dokku_version: 0.19.13
    dokku_users:
      - name: yourname
        username: yourname
        ssh_key: "{{lookup('file', '~/.ssh/id_rsa.pub')}}"
    dokku_plugins:
      - name: clone
        url: https://github.com/crisward/dokku-clone.git
      - name: letsencrypt
        url: https://github.com/dokku/dokku-letsencrypt.git
  tasks:
    - name: create app
      dokku_app:
        # change this name in your template!
        app: &appname appname
    - name: environment configuration
      dokku_config:
        app: *appname
        config:
          # specify a email for dokku-letsencrypt
          DOKKU_LETSENCRYPT_EMAIL: [email protected]
          # specify port so `domains` can setup the port mapping properly
          PORT: "5000"
    - name: git clone
      # note you'll need to add a deployment key to the GH repo if it's private!
      dokku_clone:
        app: *appname
        repository: [email protected]:heroku/python-getting-started.git
    - name: add domain
      dokku_domains:
        app: *appname
        domains:
          - example.com

Contributing

See CONTRIBUTING.md.

License

MIT License

See LICENSE.md for further details.

More Repositories

1

dokku

A docker-powered PaaS that helps you build and manage the lifecycle of applications
Shell
24,965
star
2

dokku-letsencrypt

Automatic Let's Encrypt TLS Certificate installation for dokku
Shell
1,048
star
3

dokku-postgres

a postgres plugin for dokku
Shell
444
star
4

sshcommand

Turn SSH into a thin client specifically for your app
Shell
361
star
5

dokku-redis

a redis plugin for dokku
Shell
240
star
6

dokku-mongo

a mongo plugin for dokku
Shell
171
star
7

dokku-scheduler-kubernetes

Scheduler plugin for deploying applications to kubernetes
Shell
134
star
8

github-action

Shell
130
star
9

dokku-maintenance

dokku plugin that gives the ability to manage application maintenance mode
Shell
106
star
10

heroku-buildpack-nginx

Buildpack for static websites on Dokku (nginx)
Shell
103
star
11

dokku-redirect

A plugin for dokku that gives the ability to set simple redirects for an application
Shell
98
star
12

dokku-mysql

a mysql plugin for dokku
Shell
92
star
13

dokku-elasticsearch

an elasticsearch plugin for dokku
Shell
88
star
14

dokku-http-auth

dokku plugin that gives the ability to manage HTTP basic auth for an application
Shell
78
star
15

plugn

Hook system that lets users extend your application with plugins
Shell
75
star
16

dokku-mariadb

a mariadb plugin for dokku
Shell
65
star
17

dokku-api

Unmaintained: HTTP API on top of Dokku Daemon
Ruby
59
star
18

dokku-graphite

a graphite, grafana, statsd, carbon plugin for dokku
Shell
55
star
19

dokku-rabbitmq

a rabbitmq plugin for dokku
Shell
45
star
20

dokku-rethinkdb

a rethinkdb plugin for dokku
Shell
42
star
21

dokku-scheduler-nomad

Scheduler plugin for deploying applications to nomad
Shell
32
star
22

dokku-daemon

A daemon wrapper around dokku
Shell
31
star
23

ci-docker-image

A Docker Image meant for use with CI/CD pipelines
Shell
27
star
24

dokku-memcached

a memcached plugin for dokku
Shell
25
star
25

dokku-couchdb

a couchdb plugin for dokku
Shell
25
star
26

gitlab-ci

A collection of gitlab-ci examples
Shell
24
star
27

docker-wait

Shell
23
star
28

dokku-nats

a nats plugin for dokku
Shell
23
star
29

dokku-meilisearch

a meillisearch plugin for dokku
Shell
22
star
30

dokku-clickhouse

a clickhouse plugin for dokku
Shell
18
star
31

dokku-copy-files-to-image

copies files from the host onto the container
Makefile
14
star
32

dokku-update

Shell
12
star
33

dokku-solr

a solr plugin for dokku
Shell
11
star
34

dokku-event-listener

Service that listens to docker events and runs dokku commands
Makefile
10
star
35

lambda-builder

A tool for building lambda function images or zips via Docker
Go
10
star
36

dokku-registry

Deprecated in favor of the official Registry plugin introduced in 0.25.x
Shell
9
star
37

compose-transpiler

Simple docker-compose.yml to dokku commands web utility
Vue
7
star
38

docker-grafana-graphite

Docker image with StatsD, Graphite, Grafana 6
JavaScript
6
star
39

docker-letsencrypt

Docker container for the "simp_le" Let's encrypt implementation running on Alpine Linux
Dockerfile
6
star
40

docker-ambassador

A maintained version of the ambassador linking pattern
Shell
6
star
41

procfile-util

A tool for interacting with Procfiles
Go
5
star
42

omakase

Go
5
star
43

dokku-pushpin

a pushpin plugin for dokku
Shell
5
star
44

docker-image-labeler

Adds and removes labels from docker images
Makefile
5
star
45

netrc

Utility that allows users to manage netrc files
Makefile
5
star
46

dokku-arch

Shell
5
star
47

docker-container-healthchecker

Runs healthchecks against local docker containers
Go
5
star
48

dokku-typesense

a typesense plugin for dokku
Shell
5
star
49

service-proxy

An app that can be used to proxy to a datastore service's web ui
Shell
3
star
50

dokku.github.io

A blog for dokku
SCSS
3
star
51

dokku-orb

Python
3
star
52

docker-run-export

exports the flags passed to a `docker run` call to a variety of formats
Go
2
star
53

websocket-example

Go
2
star
54

.github

Organization Repository
Shell
2
star
55

smoke-test-app

Smoke test app for dokku test suite
Python
2
star
56

dokku-omnisci

an omnisci plugin for dokku
Shell
2
star
57

dokku-cron-restart

Shell
2
star
58

heroku-buildpack-null

A buildpack that performs no actions, for testing purposes
Shell
1
star
59

docker-image-updater

A tool to manually or automatically manage updated docker images
1
star
60

smoke-test-plugin

Smoke test plugin for dokku test suite
Go
1
star
61

smoke-test-gradle-app

Java
1
star
62

tutorials

An mkdocs-based tutorial site
Shell
1
star
63

arch-herokuish

Mirror of AUR git repo for https://github.com/gliderlabs/herokuish
Shell
1
star
64

prop

A golang-based cli interface for manipulating config backed by various datastores
Go
1
star
65

test-app-5065

Python
1
star
66

docs

Docs site in generated html form
HTML
1
star
67

github-playground

a playground to test github functionality
1
star
68

dokku-ansible

an ansible plugin for dokku
Shell
1
star